。您如何防止/修复回调地狱?

时间:2019-04-15 07:26:21

标签: node.js

尝试使用Modularize –将回调拆分为较小的独立函数,可以使用一些参数调用这些函数,然后将它们结合起来以达到所需的结果。

r logError = function(error){
    if(!error){
      console.log("success!!");
    }else{
      console.log("error");
    }
},

updateTransaction = function(t){
    query("UPDATE transactions SET value = " + (t.value*0.1) + " WHERE id=" + t.id, logError);
},

handleTransactions = function(transactions){
    transactions.each(updateTransaction);
},

handleClient = function(id){
    query("SELECT * FROM transactions WHERE clientId=" + id, handleTransactions);
};

query("SELECT clientId FROM clients WHERE clientName='picanteverde';",handleClient);

您还可以使用Promises,Generators和Async函数修复回调地狱

1 个答案:

答案 0 :(得分:1)

最明显的方法是使用Promises,即对函数进行模块化并返回promises。另一种非常热门和令人惊奇的方法是使用async/await。访问this文章展示了它们的用法。