如何能让一个异步操作一定在另一个之后执行?
小弟最近刚学nodejs,然后想改造之前师兄用PHP curl做的一个爬取数据的类。 比如我做的类有3个异步操作。
curl.login();//登录操作,获取到cookie
curl.getInfo();//利用cookie,向另一个网页获取用户基本信息。
curl.getClass();//利用cookie,向另一个网页获取课表。
依此类推,可能有很多操作需要有先后问题。
这些方法不一定被调用。 我可能只调用curl.login(); curl.getInfo(); 也可能只调用curl.login();
请问如何保证 curl.getClass()或者curl.getInfo()一定在curl.login()响应结束后才执行?
5 回复
async.series
回调里调用下一个函数也可以。
推荐使用async 操作数组和流程控制都挺好的,很好应对node的eventloop
@i5ting 群主大大, 是时候来安利一把录的视频了~
http://www.ruanyifeng.com/blog/2015/04/generator.html
- 看完 ruanyifeng 写的系列
- stop using
async
/express
/callback style
- give
Promise
/bluebird
/co
/koa
a big hug