如何能让一个异步操作一定在另一个之后执行?
发布于 9 年前 作者 zjy01 3450 次浏览 最后一次编辑是 8 年前 来自 问答

小弟最近刚学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

  1. 看完 ruanyifeng 写的系列
  2. stop using async / express / callback style
  3. give Promise / bluebird / co / koa a big hug
回到顶部