Javascript 在函数内部实现回调函数
假设我有一个如下的函数Javascript 在函数内部实现回调函数,javascript,callback,jquery-callback,Javascript,Callback,Jquery Callback,假设我有一个如下的函数 loadXML('Method', requestString, function(callback){ // The function as a callback parameter to loadXML goes here. // Here I am calling the callback function like this if(callback != null){ callback(); } }); 但是
loadXML('Method', requestString, function(callback){
// The function as a callback parameter to loadXML goes here.
// Here I am calling the callback function like this
if(callback != null){
callback();
}
});
但是我想在loadXML函数中定义这个回调函数。那么我可以这样做吗
loadXML('Method', requestString, function(callback){
// The function as a callback parameter to loadXML goes here.
// Here I have to call the callback function like this, (do I?) which is a
// callback parameter to callback function of loadXML
callback = function(){
// The callback function implementation goes here
}
});
也许这可以帮助您理解嵌套回调机制:
var loadXML;
var outerCB;
var innerCB;
loadXML = function(method, requestString, cb) {
// pass the innerCB implementation as argument to the outer cb
if('undefined' !== typeof innerCB) {
cb(innerCB);
} else {
// in case innerCB would not be defined
cb(function() {
console.log('hi from anonymous cb')
});
}
};
innerCB = function() {
console.log('hi from innerCB cb!')
};
outerCB = function(callback) {
if('undefined' !== typeof callback) {
callback(); // innerCB();
} else {
console.log('no cb passed, do something else')
}
}
loadXML('Method', 'abcd', outerCB) // hi from innerCB cb!
我认为
回调
是loadXML()
的一个参数,不会传递到其他任何地方。您是否尝试了console.log(参数)代码>函数内部?为什么定义一个函数而不使用它?如果不将其传递到函数中,它实际上也不是回调。您实际上想要实现什么?这里还定义了loadXML()的回调函数,我想对该函数使用另一个回调函数。然后让我更新代码。“这里我必须像这样调用回调函数”-它用一个新函数覆盖回调函数,并且根本不调用它。你想实现什么?我想在前一个回调函数中实现一个回调函数到一个回调函数。我只是想知道我做的是否正确,或者正确的方法是什么?Thanx Villiam。我会用这个&试试这个。