打字稿等待在回调中不起作用

时间:2018-09-25 07:03:57

标签: javascript typescript asynchronous async-await

我有两个功能,我正在通过回调从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 :(得分:1)

您应该使用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();