nodejs的回调编程体验

nodejs的回调编程体验

ID:8969827

大小:24.74 KB

页数:0页

时间:2018-04-13

nodejs的回调编程体验_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《nodejs的回调编程体验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、nodeJS的回调编程体验在nodejs代码中,异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。下面只能说调用了IO异步,然后用回调进行了数据处理。  1.读取http是异步等待数据流,并在回调函数中进行处理数据http.get('http://www.example.com/',function(response){});当客户端发送请求并接收到完整的服务端响应头时,就会调用回调函数。在回调函数中,除了可以使用response对象访问响应头数据外,还能把response对象当作一个只读数据流来访问响

2、应体数据在下面函数里1.1在http.get中我们传入回调函数function(response)进行处理response1.2然后在回调函数function(response)里又调用了response.on事件详见机制,在事件传入回调函数由于在请求的响应数据流是json格式,要想通过JSON.parse分析数据,就需要等待数据全部获取,如果只是部分数据,则可能因为数据不全个出错。因此在data实际中需要将数据合并起来body.push(chunk);。然后在end数据中对数据进行分心,并获取需要的数据。1.3而针对获取的数据需要如何处理,

3、也可以等待回调函数进行处理,所以在获取数据完毕后调用callback(geoXY);functionGetXYjson(addrstr,callback){try{http.get('http://map.sh.xxxxx.cn/sisserver?highLight=false&config=GOC&address='+addrstr+'&resType=json&enc=utf-8&a_k=f519b1aee05755b300c69f742198d6749124bfbaf76b2ea6b45eff3bc8e4399188888×××××d

4、',function(response){varbody=[];vargeoXY={};console.log("Gotresponse:"+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('jieguonum:%d',b

5、ody.length);if(body.length>1){body=Buffer.concat(body);//console.log(body.toString());};try{varjsonData=JSON.parse(body);//console.log(jsonData["list"]);console.log(jsonData["list"].length);if(jsonData["list"].length>0){geoXY["address"]=addrstr;geoXY["name"]=jsonData["list"

6、][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('findGeofornumaddress:%s',addrstr);}else{geoXY["address"]=addrstr;geoXY["name"]='';geoXY["x"]=0;geoXY

7、["y"]=0;console.log('cannotfindGeofornumaddress:%s',addrstr);}}catch(err){//throwerr;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);throwerr;};}2

8、.处理多个http请求的响应数据值2.1从文件中读取请求值,通过data事件进行异步处理,传入回调函数,对请求值进行http请求2.2调用上面单个Http请求Get

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。