2017-02-09 52 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支持 –