javascript - asyc\await 语法是否解析链式函数?
问题描述
在这个例子中,如果函数被运行,两个 Promise 会在foo
return 之前得到解决吗?
async function() {
var foo = await iReturnAPromise().iReturnAPromiseUnrelatedToMyParent();
return foo;
}
解决方案
foo
事实上,只能进行一项决议。你可能会喜欢
foo = await iReturnAPromise().then(v => (doSomeThingWith(v), iReturnAPromiseUnrelatedToMyParent()));
在这种情况下,foo
将分配iReturnAPromiseUnrelatedToMyParent
. 但是,如果您想访问两种分辨率(彼此独立),那么您可能会喜欢;
async function test(){
[foo,bar] = await Promise.all([Promise.resolve(10), Promise.resolve(20)]);
return [foo,bar];
}
test().then(([a,b]) => console.log(a,b));
推荐阅读
- saml - OneLogin + SAML + SCIM
- python - Pandas 重采样功能问题从分钟到毫秒重采样
- java - 全屏叠加
- excel - 在 Office 插件中计算数据时如何显示 Excel 加载屏幕?
- google-cloud-platform - 谷歌云计算引擎阻止了对外部 API 的调用
- mysql - Mysql 计数频率 - 带阈值
- android - android.content.ActivityNotFoundException:
- ios - 具有原始值的枚举,可编码
- java - 添加新记录时ListView不刷新
- youtube - Youtube API 不返回喜欢的视频