首页 > 解决方案 > 我想让回调在执行下一行代码之前等待响应

问题描述

我想让回调在执行下一行代码之前等待响应。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
}

标签: javascript

解决方案


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);
      }
    });
  });
}

推荐阅读