2017-02-09 50 views
1

我對typeScript很新,我想用TypeScript製作一個簡單的JavaScript庫。如何在打字稿中等待其他函數的答案?

我有一個事件監聽器,用於窗口load,當窗口加載時我填充了一些我的配置(這是變量),我需要在加載回調後運行其他函數,還有那些配置填充。

我使用了一個用於promise的庫,但是這個庫很重,也沒有在GitHub上出名,當我在typeScript中添加了捆綁的JavaScript文件時,它變得超過了15k!我只寫了一些代碼,但承諾很複雜!

我應該爲承諾做些什麼?

回答

2

使用打字稿> = 2.1(如果你需要編譯到ES5),> = 1.7(對於ES6只)和async/await

try { 

    const result = await funcThatReturnsAPromise() 
    //do other stuff after the promise succeeded 

} catch(e) { 

    //do stuff when promise fails (rejects) 
} 

Documentation for 1.7

Support for ES3/ES5 target in 2.1

支持ES3/ES5 TL; DR;

  • 在tsconfig.json添加
  • 改變編譯器選項

    "compilerOptions": { 
        "lib": ["dom", "es2015.promise", "es5"] 
    } 
    
+0

我需要編譯它ES5然後用browserfy捆綁的所有文件,你的意思是, typeScript中的默認承諾? –

+0

您能否描述更多?您發送的文檔版本爲1.7 –

+0

請參閱上面的編輯以獲取ES3/ES5支持 –