我需要一些构造回调函数的帮助。问题是:我的逻辑是否按照我的想象进行?
app = getApp(function(val1, val2){
helperFunction(val3, function(val4, val5, callbackTwo){
//...logic
var val6 = ....
callbackTwo(val6)
},
function(val6){
//logic
});
};
function helperFunction(val3, callback, callbackTwo){
//logic
callback(val4, val5, callbackTwo);
}
基本上可以。但是,根据我第一个匿名
callback
函数的逻辑,是否有可能在分配callbackTwo
之前触发我的val6
函数? 最佳答案
那真是太搞笑了。不确定为什么要将callback2
传入/传出helperFunction
,因为它对此没有任何作用。而是直接在原始回调中调用第二个回调的代码。除非您能给我们一个理由(没有明显的理由),否则只需将逻辑放在您的第一个回调中即可。
我已尽力将其清理干净,但是您还没有在语法上有效的JavaScript可以在这里使用:
App = getApp(function(val1, val2) {
helperFunction(val3, function(val4, val5) {
//...logic
var val6 = ....
//logic that uses val6, originally from callback2
});
};
function helperFunction(val3, callback){
//logic
callback(val4, val5);
}
请注意,“使用val6的逻辑”可以只是另一个函数调用,但是没有理由将该函数作为
helperFunction
回调的参数。