CNode

如何能让一个异步操作一定在另一个之后执行?

问答
Zzjy01发布于11 年前最后回复11 年前5 回复4056 浏览0 收藏

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

C
chris9311#1·11 年前

推荐使用async 操作数组和流程控制都挺好的,很好应对node的eventloop

M
magicdawn#2·11 年前

@i5ting 群主大大, 是时候来安利一把录的视频了~

M
magicdawn#3·11 年前

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
L
leapon#4·11 年前

async.series

L
leapon#5·11 年前

回调里调用下一个函数也可以。

参与回复
登录后即可参与回复。登录