Javascript 如何轻松地使asyn/await与js中的传统回调函数一起工作

Javascript 如何轻松地使asyn/await与js中的传统回调函数一起工作,javascript,node.js,Javascript,Node.js,正如我们所知,ES6为回调地狱提供了一个很好的解决方案,但是如何处理已经用E回调编写的源代码呢? 我不想重写那些代码,只是想找到一个简单的方法让它工作 辅助函数 函数承诺(此对象,函数,…重新启动){ 返回新承诺((解决、拒绝)=>{ 重新启动.推送((错误,结果)=>{ 如果(错误){ 拒绝(错误); }否则{ 决心(结果); } }); 函数应用(此对象,重新启动); }); } 以前 redis.hget("k1", "k2", function (err, result) { if

正如我们所知,ES6为回调地狱提供了一个很好的解决方案,但是如何处理已经用E回调编写的源代码呢? 我不想重写那些代码,只是想找到一个简单的方法让它工作

  • 辅助函数

    函数承诺(此对象,函数,…重新启动){ 返回新承诺((解决、拒绝)=>{ 重新启动.推送((错误,结果)=>{ 如果(错误){ 拒绝(错误); }否则{ 决心(结果); } }); 函数应用(此对象,重新启动); }); }

  • 以前

     redis.hget("k1", "k2", function (err, result) {
      if (err) {
        reject(err);
      } else {
        resolve(result);
      }
    });
    
  • 现在

    var结果=等待承诺(redis,redis.hget,“k1”,“k2”)


  • 只是想找到一个简单的方法让它工作-你可以开始张贴你的代码,而不是让用户猜你到底是什么意思。对于与代码相关的SO问题是必要的。你正在重新发明轮子。有一个
    util.promisify
    可以达到这个目的。