Anda harus menunggu TypeScript 2.0 dengan async
/ await
untuk dukungan ES5 karena sekarang hanya didukung untuk kompilasi TS ke ES6.
Anda dapat membuat fungsi penundaan dengan async
:
function delay(ms: number) {
return new Promise( resolve => setTimeout(resolve, ms) );
}
Dan sebut saja
await delay(300);
Harap dicatat, bahwa Anda await
hanya dapat menggunakan async
fungsi di dalam .
Jika Anda tidak bisa ( katakanlah Anda sedang membangun aplikasi nodejs ), cukup tempatkan kode Anda dalam async
fungsi anonim . Berikut ini sebuah contoh:
(async () => {
// Do something before delay
console.log('before delay')
await delay(1000);
// Do something after
console.log('after delay')
})();
Contoh Aplikasi TS: https://github.com/v-andrew/ts-template
Di OLD JS Anda harus menggunakan
setTimeout(YourFunctionName, Milliseconds);
atau
setTimeout( () => { /*Your Code*/ }, Milliseconds );
Namun dengan setiap browser utama yang mendukung async
/ await
itu usang.
Pembaruan: TypeScript 2.1 ada di sini bersama async/await
.
Hanya saja, jangan lupa bahwa Anda perlu Promise
implementasi ketika Anda mengkompilasi ke ES5, di mana Janji tidak tersedia secara asli.