必須搞清楚 settimeout 為異步函數.
因為 : ts中沒有線程休眠 , 是以我提供了如下測試方式
一 : 正常
結果 :
解釋 : settimeout是異步的
二 :
因為 : await 關鍵字 , 是等待 this.timeout()的結果 , 他是永遠等不到的 , 是以程式卡死
結果:
這個和 c# 是一樣的 , 隻不過c#好測試 , 因為c#有線程的概念!!!
下面有三個使用到prmomise的例子
第1個例子 使用 new promise,展現了 promise實作異步機制
2和3 使用 promise.resolve
第3個例子,通過 then 将 參數傳遞到下一個 then
将代碼複制 運作,就會看到 promise的奧秘
///////////////////////////////////////