簡體   English   中英

js中傳統回調函數如何輕松實現asyn/await

[英]How to easily make asyn/await works with the traditional callback function in js

眾所周知,ES6 給了我們一個很好的回調地獄的解決方案,但是如何處理已經寫好的帶有回調的源代碼呢? 我不想重寫那些代碼,只想找到一種簡單的方法來讓它工作。

  1. 輔助功能

    function promise(this_obj, func, ...restArgs) { return new Promise((resolve, reject) => { restArgs.push((err,result)=>{ if(err){ reject(err); }else{解決(結果);}});func.apply(this_obj,restArgs);}); }

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

    var result = await promise(redis, redis.hget, "k1", "k2");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM