0
public async demo(): Promise<void> {
// Do some stuff here
// Doing more stuff
// ...
// End of block without return;
}
新的Promise<void>
隱含返回在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>
會發生什麼?
如果你沒有明確地放置一個,那麼每個JavaScript/TypeScript函數在最後都有一個隱式返回。 – SpiderPig
@str:當我從一個異步函數返回一些東西時,並不是隱式地返回一個新的Promise實例,它用返回數據調用'.resolve()',並分別拋出一個異常'.reject()' ? – Gala
是的,異步函數總是返回一個承諾。 – SpiderPig