ÙØ±Ø§Ø®ÙاÙÛ async از non-async
Ù
ا ÛÚ© تابع Ù
عÙ
ÙÙÛ Ø¯Ø§Ø±ÛÙ
Ú©Ù f ÙØ§Ù
Ú¯Ø°Ø§Ø±Û Ø´Ø¯Ù Ø§Ø³Øª. ÚÚ¯ÙÙÙ Ù
Û ØªÙØ§ÙÛØ¯ تابع ()wait Ú©Ù async است را ÙØ±Ø§Ø®ÙاÙÛ Ú©ÙÛØ¯ ٠از ÙØªÛج٠آ٠داخ٠f Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø
async function wait() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// ... ÚÛ Ø¨Ø§ÛØ¯ اÛÙÚØ§ بÙÙÛØ³ÛÙ
?
// Ù
ا Ø¨Ø§ÛØ¯ async wait() را ÙØ±Ø§Ø®ÙاÙÛ Ú©ÙÛÙ
٠صبر Ú©ÙÛÙ
تا Û±Û° را Ø¨Ú¯ÛØ±ÛÙ
// Ø¨Ù ÛØ§Ø¯ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯Ø ÙÙ
Û ØªÙØ§ÙÛÙ
از "await" Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
}
ض٠ÛÙ Ù: اÛ٠کار از ÙØ¸Ø± ÙÙÛ Ø¨Ø³ÛØ§Ø± ساد٠است ا٠ا اÛÙ Ø³ÙØ§Ù Ø¨Ø±Ø§Û ØªÙØ³Ø¹Ù دÙÙØ¯Ú¯Ø§Ù ک٠با async/await ØªØ§Ø²Ù Ø¢Ø´ÙØ§ Ø´Ø¯Ù Ø§ÙØ¯ Ø¨Ø³ÛØ§Ø± ٠تداÙ٠است.
اÛÙ Ù ÙØ±Ø¯ ز٠اÙÛ Ø§Ø³Øª Ú©Ù Ø¯Ø§ÙØ³ØªÙ ÙØÙ٠ع٠Ùکرد آ٠در داخ٠تابع Ø¹Ø§Ø¯Û Ù ÙÛØ¯ است.
ÙÙØ· کاÙÛØ³Øª ک٠با async Ù
اÙÙØ¯ Promise عÙ
Ù Ú©ÙÛÙ
Ù then. را ب٠آ٠اضاÙÙ Ú©ÙÛÙ
:
async function wait() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// بعد از Û± ثاÙÛÙ Û±Û° را ÙØ´Ø§Ù Ù
Û Ø¯ÙÙØ¯ââ
wait().then(result => alert(result));
}
f();