public async demo(): Promise<void> {
// Do some stuff here
// Doing more stuff
// ...
// End of block without return;
}
TypeScript / ES6中块的末尾是否隐含地返回了新的Promise<void>
?
布尔类型示例:
class Test {
public async test(): Promise<boolean> {
return true;
}
public main(): void {
this.test().then((data: boolean) => {
console.log(data);
});
}
}
new Test().main();
这会将true
打印到控制台,因为异步函数内的return
会创建一个新的Promise
,并使用返回的数据调用resolve()
。 Promise<void>
会怎样?
答案 0 :(得分:8)
承诺会发生什么
返回void
的函数也是如此。 void
函数返回undefined
。 Promise<void>
解析为undefined
。
function foo(){}; console.log(foo()); // undefined
async function bar(){}; bar().then(res => console.log(res)); // undefined