2

我想知道为什么这段代码使用async并且await不起作用。

// I promisified `github.users.get` which is asynchronous
function getUserData() {
  return new Promise(function (resolve, reject) {
    github.users.get({}, function (err, res) {
      if (err) {
        reject(err);
      } else {
        resolve(res)
      }
    });
  });
}

// Similar to above
function getUserEmails() {
  return new Promise(function (resolve, reject) {
    github.users.getEmails({}, function (err, res) {
      if (err) {
        reject(err);
      } else {
        resolve(res)
      }
    });
  });
}

(async function () {
  let github = new GithubAPI({version: '3.0.0'});
  github.authenticate({
    type: 'oauth',
    token: // auth token
  });

  let userData = await getUserData(); // stuck
  let emails = await getUserEmails();

  // do something
}());

代码永远不会超出let userData = await getUserData();. 它卡在那里。

我究竟做错了什么?我正在使用流星 1.3.1。

4

0 回答 0