用javascript开发应用,经常需要使用第三方组件,90%都涉及到callback的调用,总结了2种典型的模式
这种模式比较常见,比如fs,node-mongo-native等,代码类似:
collection.remove({"enterpriseId": enterpriseId}, function (err, removeNum) { // 操作err和removeNum });
function remove(query, callback){ // do remove if(error){ callback(error); }else{ callback(null, removeNum); } }
这种模式比较少见,典型的如async是这么用的,代码:
async.series([queryEnterprise, deleteEnterprise, deleteUser, deletePayment], function (err, results) { if (err) { // 处理错误 } else { // 处理最终数据 } });
function queryEnterprise(callback) { // 逻辑处理 if(error){ callback(error); }else{ callback(null, result); } }