0
我打電話了這樣的函數異步:從功能瀑布方法的返回
MyService.validate(params,function(err,response){
//results from validate
console.log(response);
})
在Myservice.validate
還有如果任何一個失敗,一個異步waterfall
功能是做了 驗證每個驗證規則,功能單一運行我想回到回
//run validations here
validate:function(params,callback){
async.watefall([
function (nextValidation){
if(params.length<8){
//returns to MyService.validate callback
return callback({'status':false})
}
nextValdation();
},
function (finalCallback){
if(params.name!='foo'){
//returns to MyService.validate callback
return callback({'status':false})
}
finalCallback();
}
],function(err,response){
//all validation rules passed
return callback({'status':true})
})
}
但是,如果驗證失敗,一個迴歸不即工作
return callback({'status':false})
爲什麼你正試圖從第一函數調用瀑回調從來沒有發射
if(params.length<8){
//never fired
return callback({'status':false})
}
我已經試過,但這種方法運行所有即使第一函數失敗 – Jabaa
編輯答案,它爲我工作的驗證功能。更改不同輸入的存根並嘗試。如果有任何問題,請告訴我。 –
運氣好嗎?這是工作? –