- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
nodeJS的回调编程体验
nodeJS的回调编程体验在nodejs代码中,异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。下面只能说调用了IO 异步,然后用回调进行了数据处理。?? 1 . 读取http 是异步等待数据流 ,并在回调函数中进行处理数据 http.get(/, function (response) {});当客户端发送请求并接收到完整的服务端响应头时,就会调用回调函数。在回调函数中,除了可以使用response对象访问响应头数据外,还能把response对象当作一个只读数据流来访问响应体数据在下面函数里 1.1 在http.get 中我们传入回调函数 function (response) 进行处理 response1.2 然后在回调函数 function (response) 里 又调用了 response.on事件详见机制 ,在事件 传入回调函数由于在请求的响应数据流是json 格式,要想通过JSON.parse 分析数据,就需要等待数据全部获取,如果只是部分数据 ,则可能因为数据不全个出错。 因此在data 实际中 需要将数据合并起来 body.push(chunk); 。然后在end 数据中对数据进行分心,并获取需要的数据。1.3 而针对获取的数据 需要如何处理,也可以等待回调函数进行处理,所以在获取数据完毕后调用 callback(geoXY); function GetXYjson(addrstr, callback){try{ http.get(/sisserver?highLight=falseconfig=GOCaddress=+addrstr+resType=jsonenc=utf-8a_k=f519b1aee05755b300c69f742198d6749124bfbaf76b2ea6b45eff3bc8e4399188888×××××d, function (response) {var body = [];var geoXY={}; console.log(Got response: + response.statusCode); //console.log(response.headers); response.on(data, function (chunk) { body.push(chunk); //console.log(chunk.toString(utf8)); }); response.on(end, function () { console.log( jieguo num: %d,body.length);if (body.length1) { body = Buffer.concat(body); //console.log(body.toString());};try {var jsonData = JSON.parse(body); //console.log(jsonData[list]); console.log(jsonData[list].length); if (jsonData[list].length0){geoXY[address]=addrstr; geoXY[name]=jsonData[list][0][name]; console.log(jsonData[list][0][x]); geoXY[x]=jsonData[list][0][x];console.log(jsonData[list][0][y]);geoXY[y]=jsonData[list][0][y];console.log( find Geo for num address:%s,addrstr); }else{geoXY[address]=addrstr; geoXY[name]=; geoXY[x]=0; geoXY[y]=0;console.log(can not find Geo for num address:%s,addrstr); }}catch(err){// throw err; geoXY[address]=addrstr; geoXY[name]=; geoXY[x]=0; geoXY[y]=0;console.log(Error: %s,err.message); };callback(geoXY); }); });}catch(err){console.log(Error: %s,err.message); throw err;};}2 . 处理多个http请求的响应数据值2.1 从文件中读取请求值,通过data 事件 进行异步处理 ,传入回调函数,对请求值进行http 请求 2.2 调用上面单个Http请求 GetXYjs
您可能关注的文档
- 践行弟子规.doc
- 足不出户看世界.ppt
- 运用启发式教学,培养学生良好的思维品质.doc
- 迷路炎.ppt
- 退化性关节炎治疗新观念.ppt
- 选修四第二章第三节 化学平衡 图像.ppt
- 遵义近代文化名人.doc
- 金荞麦片_图文.ppt
- 金领客户端优化内容(.ppt
- 金领客户端优化内容(7月15日版本).ppt
- 2025年家居家纺商业计划书线上线下融合下的市场拓展策略.docx
- 2025年农业绿色发展政策支持与农业循环经济发展政策优化创新优化报告.docx
- 教育精准扶贫对农村地区教育投入结构优化的影响评估报告.docx
- 医疗美容行业监管政策对美容护肤品牌的影响与2025年市场策略分析报告.docx
- 纺织服装制造行业数字化转型中的政策环境与法规解读报告.docx
- 农业科技成果转化与农村旅游开发2025年报告.docx
- 2025年城市河道生态修复项目组织管理建议书.docx
- 农村电商服务站农产品电商平台用户行为分析与产品创新报告.docx
- 医疗美容服务行业规范化背景下,2025年市场监管法规解读与应用.docx
- 航空运输业2025年疫情冲击应对策略与可持续发展研究报告.docx
文档评论(0)