如何处理多个回调?现在只有我注册的第一个被解雇了..
这是我当前处理回调的代码(此代码正在异步加载)
var widget = function () {
var onNameCallback,
onTriggedCallback;
function getName(callback) {
onNameCallback = callback;
}
function onTrigg(callback) {
onTriggedCallback = callback;
}
/** lots of code ... **/
if(typeof onNameCallback == 'function') {
// Fire the callback
onNameCallback('1');
}
if(typeof onTriggedCallback == 'function') {
// Fire the callback
onTriggedCallback('hello');
}
/** lots of code ... **/
return {
getName:getName,
onTrigg:onTrigg,
};
}();
if (window._test) {
for (var i = 0; i < _test.length; i++) {
var method = _test.shift();
try {
widget[method].apply(widget, _test);
} catch (err) {
console.log(err);
}
var method = _test.shift();
}
};
这是我注册它们的方式:
_test.push('getName', function(data) {
console.log(data);
});
_test.push('onTrigg', function(data) {
console.log(data);
});
但由于某种原因,只是getName
被解雇了..
有任何想法吗?