[英]Passing the callback function as parameter from itself
我是否可以從回調功能塊本身內部將回調參數傳遞給另一個方法? 例:
var resultCallback = function(result){
if(result)
{
alert('success!');
}else{
callServiceB(resultCallback );
}
}
callServiceA(resultCallback);
這是因為我希望鍛煉諸如javascript中的責任鏈模式之類的東西。
嘗試谷歌,但到目前為止什么也沒有。 歡迎任何想法或評論。
我是否可以從回調功能塊本身內部將回調參數傳遞給另一個方法?
是的你可以。 試試吧!
我希望鍛煉諸如“責任鏈”模式
將責任鏈( callServiceB(resultCallback)
)和產生的動作( alert('success!')
)放在同一函數中,似乎是一種不好的做法/設計氣味。 您應該對結果使用額外的回調,並從中分離鏈的聲明。
然后可能看起來像callServiceA(orCallServiceB(alertResult))
或either(callServiceA, callServiceB, …)(alertResult)
。
邏輯類似於1.調用函數a 2.如果函數a正常,然后調用函數b 3.如果函數b ok,然后調用函數c,依此類推.. – ipohfly 8分鍾前
這聽起來不像是一條責任鏈,只有在當前函數失敗(無法處理參數)的情況下,您才調用下一個函數? 您所描述的聽起來更像是單子鏈(一個動作依賴於前一個動作)-看一下對此的承諾 :
callServiceA.then(callServiceB).then(…).then(resultCallback);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.