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