ÐиклиÑÑе async-ÑÑнкÑÑÑ Ð·Ñ "звиÑайноÑ"
У Ð½Ð°Ñ Ñ âзвиÑайнаâ ÑÑнкÑÑÑ Ð¿Ñд Ð½Ð°Ð·Ð²Ð¾Ñ f. Як ви можеÑе викликаÑи async-ÑÑнкÑÑÑ wait() Ñ Ð²Ð¸ÐºÐ¾ÑиÑÑовÑваÑи ÑÑ ÑезÑлÑÑÐ°Ñ Ð²ÑеÑÐµÐ´Ð¸Ð½Ñ f?
async function wait() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// ...Ñо ÑÑÑ Ð²Ð°ÑÑо напиÑаÑи?
// нам поÑÑÑбно викликаÑи async-ÑÑнкÑÑÑ wait() Ñ Ð¿Ð¾ÑекаÑи, Ñоб оÑÑимаÑи 10
// памâÑÑайÑе, ми не можемо викоÑиÑÑовÑваÑи "await"
}
P.S. Ð¢ÐµÑ Ð½ÑÑно Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð´Ñже пÑоÑÑе, але дане пиÑÐ°Ð½Ð½Ñ Ð´Ð¾ÑиÑÑ Ð¿Ð¾ÑиÑеним ÑеÑед ÑозÑобникÑв, ÑÐºÑ ÑÑлÑки поÑинаÑÑÑ Ð¿ÑаÑÑваÑи з async/await.
Це Ñой випадок, коли коÑиÑно знаÑи, Ñк воно пÑаÑÑÑ Ð²ÑеÑединÑ.
ÐÑоÑÑо ÑÑакÑÑйÑе виклик async Ñк пÑомÑÑ Ñа додайÑе до нÑого .then:
async function wait() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// покаже 10 ÑеÑез 1 ÑекÑндÑ
wait().then(result => alert(result));
}
f();