async abc(){
await some().then(() => {
//do inside then
});
//other code
}
"wait"是只在some((上等待,还是在转到//其他代码之前等待some(和它的then((?基本上,问题是在进入下一个语句之前,是否也在等待完成这一部分。
some().then()
返回一个新的promise,而await
等待该新promise,因此它将等待.then()
处理程序和它可能返回的任何promise,然后再通过await
。换句话说,它在等待整个承诺链。
通常,在同一语句中混合await
和.then()
不是一种好的风格,因为您通常希望使用await
而不是.then()
,如:
async abc(){
let result = await some();
// do something with result
//other code
}
这为您提供了await
所支持的外观更简单、更有序的代码设计。
您也可以使用箭头函数来实现这一点。
const some = () => 'something';
const abs = async () => {
const result_from_some = await some();
// do something with result_from_some
}
但请注意,如果">result_from_some"中的值可能发生更改,则最好使用let而不是const
希望这能帮助到别人。