尝试使用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函数修复回调地狱
答案 0 :(得分:1)
最明显的方法是使用Promises
,即对函数进行模块化并返回promises
。另一种非常热门和令人惊奇的方法是使用async/await
。访问this文章展示了它们的用法。