nodejs 同步问题
nodejs 是异步的,这样的有点是多并发;
例如你要访问多个网址,可以同时访问并发访问,做多线程下载非常好。
但如果后面的程序需要前面程序的结果才能继续,这种情况 在多并发环境下就有问题。
async可以解决这个问题。
需要注意的是,async 可以控制函数的串行执行,但函数接口必须定好,并且最后执行 callback!
var urlcontent = "http://bbs.chinagame.me/topic/1/1#1"; var r = require(‘request‘); var subject,content; var async = require(‘async‘); function a(callback){ req = r(urlcontent, function(a,b,c) { var body = c; var regex=/<title>(.*?)<\/title>/gim; var title = regex.exec(body); subject = title[1]; var regex1=/itemprop="text">(.*?)<\/div>/gim; var con = regex1.exec(body); content = con[1]; callback(null, ‘two‘); }); } function b(callback){ console.log(subject,content); callback(null, ‘b‘); } async.series([ a,b ]);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。