簡體   English   中英

從自身傳遞回調函數作為參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM