繁体   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