首页 > 解决方案 > 从回调中做出承诺

问题描述

我有一段代码,如下所示:

 return user.isCorrectPassword(password, function(_err, same) { 
   assertExposable(same, 'login_fail');
   const token = signToken(user);
   console.log(token, 'TOKENN');
   return token;
 });

那里的令牌值是正确的,但是我需要另一段代码中的令牌。我意识到我必须“等待”该代码,以便我可以获得令牌值但是我不确定将代码转换为承诺以执行类似操作的最佳方法是什么

const data = await ...

所以数据等于token。

我的尝试:

const foo = user.isCorrectPassword(password, function(_err, same) {
  return new Promise((resolve, _reject) => {
    assertExposable(same, 'login_fail');
    const token = signToken(user);
    resolve(token);
  });
});

标签: javascriptnode.jspromiseasync-await

解决方案


推荐阅读