Meteor 异步等待承诺
我想知道为什么使用Meteor 异步等待承诺,meteor,async-await,ecmascript-next,Meteor,Async Await,Ecmascript Next,我想知道为什么使用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);
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()代码>。它卡在那里了
我做错了什么?我正在使用Meteor 1.3.1。代码对我来说很合适。。您能否确认调用了resolve
/reject
?(例如console.log('resolving',res);resolve(res);
)仅供参考,async/await不是ES7的一部分,