【发布时间】:2017-06-13 11:35:04
【问题描述】:
async setMyPhotos() {
const newPhotos = await Promise.all(newPhotoPromises);
someOtherPromise(); // will wait for newPhotoPromises
syncAvatar(newPhotos[0], function(res, err) { // does this wait for newPhotoPromises too?
if (!err) console.log("avatar sync'd");
});
return newPhotos; // return just needs to wait for newPhotoPromises
}
我注意到syncAvatar 似乎有效,但我不确定我是否只是走运。如果是这样,我如何确保 syncAvatar 仅在 newPhotoPromises 完成后运行?
澄清一下,syncAvatar 需要在 newPhotoPromises 完成之后发生,但是 setMyPhotos 只需要返回 newPhotoPromises 的结果,而 syncAvatar 可以在后台发生。
【问题讨论】:
-
async/await 是 C# 吗?
-
JavaScript ES7 也是!
-
我很困惑,因为标签只是 javascript :P
-
并不是说“回调也有效”。这是执行暂停,直到满足等待。然后,无论接下来发生什么,都会执行。
-
async/await不是 ES7 (ES2016) 的一部分。它将成为今年发布的 ES2017 的一部分。
标签: javascript ecmascript-2017