异步Javascript让我大吃一惊

时间:2017-10-01 00:38:11

标签: javascript asynchronous twitter async-await

我在函数中使用了异步/等待。我知道回调,但由于某种原因,我无法得到我想要的工作。这基本上就是我想要做的。

T.get('friends/ids', myAcc, function(err, data, response){
    friends = data;
});
console.log(friends);

在收到朋友之前,它会在控制台登录之前发生什么。

我知道如果我这样做,它会起作用

T.get('friends/ids', myAcc, function(err, data, response){
    console.log(data);
});

但我怎么能等待自己完成的功能?没有用另一个async / aawait函数包围它们吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Promise构造函数

(async() => {
  let friends = await new Promise((resolve, reject) => {
                  T.get('friends/ids', myAcc, function(err, data, response) {             
                    if (err) {
                      reject(err);
                      return;
                    }
                    resolve(data);
                  });
                }).catch(err => err);
  console.log(friends);
})();