现在 js 有异步流程控制的库嘛?

2015-05-19 18:26:32 +08:00
 deathscythe

对es6 中的promise 有兴趣。

这个是js用的吗?
https://github.com/kriskowal/q

3649 次点击
所在节点    JavaScript
18 条回复
andy12530
2015-05-19 18:28:12 +08:00
promise和流程控制没啥关系。

流程控制,你需要async.js
learnshare
2015-05-19 18:29:51 +08:00
promise 有点像改变了回调的写法,并不是流程控制。
iyangyuan
2015-05-19 19:01:01 +08:00
楼主举个例子?
deathscythe
2015-05-19 19:07:04 +08:00
@andy12530 @learnshare promise 处理异步吧。好咯,我标题起得不好~

@iyangyuan 就是关于如果处理多个 异步时要等待全部 异步完成返回结果再继续下一步操作。
song0071000
2015-05-19 19:12:01 +08:00
async的 parallel
符合你的要求
Phariel
2015-05-19 19:38:26 +08:00
qgy18
2015-05-19 19:48:01 +08:00
async function myFunction() {
let result = await somethingThatReturnsAPromise();
console.log(result); // cool, we have a result
}

这是 ES7 支持的 async function,ES6 可以用 generator function 完成类似的事情,例如 promise 结合 Q,可以这么玩:

var all = Q.async(function* () {
var src = yield getData();
var img = yield getImg(src);
showImg(img);
});
qgy18
2015-05-19 19:51:21 +08:00
riophae
2015-05-19 22:21:50 +08:00
只要 Promise 相关的都可以
isayme
2015-05-19 22:43:59 +08:00
献上我写的库给各位大神, 符合promise/A+标准, 仅200行代码!
https://github.com/isayme/then.js
scarlex
2015-05-19 23:20:16 +08:00
http://liubin.github.io/promises-book/
这里有本 promise book,看完你就懂了
ezreal
2015-05-19 23:38:20 +08:00
bluebird
L3au
2015-05-19 23:51:35 +08:00
嗯,async & co是流程控制库,都支持promise的
kurosagi
2015-05-20 08:11:05 +08:00
KennyZJ
2015-05-20 10:31:38 +08:00
co + thunkify
tamamaxox
2015-05-20 10:33:08 +08:00
bluebird
deathscythe
2015-05-20 14:50:40 +08:00
@qgy18 https://github.com/kriskowal/q 这个用在node.js里的?
qgy18
2015-05-20 16:08:12 +08:00
@deathscythe Node 和 浏览器,都可以用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/192271

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX