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。我会用这个&试试这个。