天天看點

TypeScript之異步函數其他補充 : https://blog.csdn.net/rcjjian/article/details/72831577

必須搞清楚 settimeout 為異步函數.

因為 : ts中沒有線程休眠 , 是以我提供了如下測試方式

一 : 正常

結果 :

TypeScript之異步函數其他補充 : https://blog.csdn.net/rcjjian/article/details/72831577

解釋 : settimeout是異步的

二 :

TypeScript之異步函數其他補充 : https://blog.csdn.net/rcjjian/article/details/72831577

因為 : await 關鍵字 , 是等待 this.timeout()的結果 , 他是永遠等不到的 , 是以程式卡死

結果:

TypeScript之異步函數其他補充 : https://blog.csdn.net/rcjjian/article/details/72831577

這個和 c# 是一樣的 , 隻不過c#好測試 , 因為c#有線程的概念!!!

下面有三個使用到prmomise的例子

第1個例子 使用 new promise,展現了 promise實作異步機制

2和3 使用 promise.resolve

第3個例子,通過 then 将 參數傳遞到下一個 then

将代碼複制 運作,就會看到 promise的奧秘

///////////////////////////////////////