我一直在浏览async
/ await
在浏览了几篇文章之后,我决定自己测试一下。但是,我似乎无法绕开为什么这行不通的想法:
async function main() {
var value = await Promise.resolve('Hey there');
console.log('inside: ' + value);
return value;
}
var text = main();
console.log('outside: ' + text);
控制台输出以下内容(节点v8.6.0):
>外部:[对象承诺]
>内部:嘿
为什么函数内部的日志消息随后执行?我认为创建async
/ 的原因await
是为了使用异步任务执行同步执行。
Is there a way could I use the value returned inside the function without using a .then()
after main()
?
顶级等待是即将到来的EcmaScript标准的功能。当前,您可以将其与TypeScript 3.8(此时为RC版本)一起使用。
如何安装TypeScript 3.8
您可以通过使用以下命令从npm安装TypeScript 3.8来开始使用它:
此时,您需要添加
rc
标签以安装最新的Typescript 3.8版本。