2016-06-11 83 views
22

我使用打字稿開發一個網站,在角2,我想知道是否有實現thread.sleep(ms)功能的方式。打字稿睡眠

我的使用情況是幾秒鐘這是HTML還是很容易的JavaScript後提交表單之後將用戶重定向,但我不知道如何做到這一點的打字稿。

非常感謝,

+5

打字稿是JavaScript的一個超集。因此,用JavaScript編寫,然後你就可以開始:你有一個TypeScript解決方案。 –

回答

31

你必須等待打字稿2.0 async/await對ES5支持,因爲它現在只支持TS到ES6彙編。

您將能夠創建延時功能:

function delay(ms: number) { 
    return new Promise(resolve => setTimeout(resolve, ms)); 
} 

而現在叫它

await delay(300); 

,你必須使用

setTimeout(FunctionName, Milisecons); 

setTimeout(()=>{/*Your Code*/}, Milisecons); 

更新: 打字稿2.1是這裏async/await

只要不要忘記,當編譯到ES5時,需要執行Promise,其中Promise不是本地可用的。

+1

** **更新:_async /等待和發電機ES5/ES3_支持很感動,而不等待對該打字稿2.1 –

+4

事件,你可以做延遲(20000)。然後(()=> { – ZZZ

10

這工作:(感謝評論)

setTimeout(() => 
{ 
    this.router.navigate(['/']); 
}, 
5000);