【发布时间】:2019-07-17 04:24:21
【问题描述】:
async function test() {
for (var i = 0; i < balance; i++) {
(async () => {
var a = await this.test1(i);
var b = await this.test2(a);
var c = await this.test3(b);
this.doThis(a,b,c);
})();
}
}
所以我得出结论,(async () => {})(); 与一个很好的旧回调非常相似
function test() {
for (var i = 0; i < balance; i++) {
test1().call().then((a) => {
test2().call(a).then((b) => {
test3().call(b).then((c) => {
this.doThis(a,b,c);
});
});
});
}
}
这是对的吗?在性能方面,我发现它们大致相同。
- 他们有什么不同吗?
- 我应该遵循什么模式?
我想使用第一个 async/await,但如果我取出 (async () => {})();,我发现在 UI 中渲染内容比第二个要慢。
【问题讨论】:
-
如果你添加一些循环/ifs,第一种模式很容易做到,但第二种模式会很痛苦。有人说
async/awaut只是语法糖,虽然这适用于某些情况(例如你的情况),但它并不真正适用于更复杂的情况。
标签: javascript callback async-await