javascript - 我想让回调在执行下一行代码之前等待响应
问题描述
我想让回调在执行下一行代码之前等待响应。async
然后我确实尝试await
为响应进行回调,但这没有用。
async signup(parent, args, ctx, info) {
const email = args.email;
let res;
verifier.verify(email, function(err, response) {
if (err) console.log(err);
else {
res = response.success;
console.log('before', res); // true or false
}
});
console.log('after', res); // undefined
}
解决方案
async function signup (parent, args) {
return new Promise(function(resolve, reject) {
verifier.verify(args.email, function(err, response) {
if (err) {
reject(err);
}
else {
resolve(response.success);
}
});
});
}