Gal*_*ala 8 javascript typescript es6-promise
public async demo(): Promise<void> {
// Do some stuff here
// Doing more stuff
// ...
// End of block without return;
}
Run Code Online (Sandbox Code Playgroud)
是否Promise<void>
在TypeScript/ES6的块末尾隐含地返回了新的内容?
布尔类型的示例:
class Test {
public async test(): Promise<boolean> {
return true;
}
public main(): void {
this.test().then((data: boolean) => {
console.log(data);
});
}
}
new Test().main();
Run Code Online (Sandbox Code Playgroud)
这会打印true
到控制台,因为return
异步函数内部会创建一个新函数Promise
并resolve()
使用返回的数据调用它.怎么样Promise<void>
?
bas*_*rat 14
Promise会发生什么
返回的函数也是如此void
.一个void
函数返回undefined
.一个Promise<void>
解决方案undefined
.
function foo(){}; console.log(foo()); // undefined
async function bar(){}; bar().then(res => console.log(res)); // undefined
Run Code Online (Sandbox Code Playgroud)