машинопись Await не работает в обратном вызове - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть две функции, и я звоню cbf() из func() через обратный вызов, и я использую await, но after callback идет первым.

function cbf(name, callback: Function) {
    console.log(name)
    callback("123")
}

function async func() {
    await cbf("alice", function(aa) {
        console.log(aa)
    })
    console.log("after callback")  
}

1 Ответ

0 голосов
/ 25 сентября 2018

Вы должны использовать Promise

function cbf(x) { 
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(x);
    }, 2000);
  });
}

async function f1() {
  var x = await cbf(10);
  console.log(x); // 10
}

f1();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...