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中呈现内容的速度比第二个要慢。
答案 0 :(得分:1)
它们有什么区别吗?
您应该从return
回调中then
,以便正确传播错误。除此之外,它们基本上是相等的。
我应该遵循什么模式?
它们都是fire-and-forget calls,在它们上面您不应忘记 处理错误!
我想和
async/await
一起使用,但是如果我取出(async () => {})();
会发现它变慢了
当然,因为那样的话您await
处于循环中,因此它将变得有序。