在函数中放置回调的位置

时间:2014-04-03 22:14:54

标签: javascript jquery

有时它很直观,有时候我并不清楚将callback放在函数中以创建正确的回调。你能告诉我它会在哪里进去吗? - 并解释一下?谢谢......

var callSlides = function(my_elem, name, callback) {

  $(my_elem).one('inview', function (event, visible) {

    if (visible) {

      $(my_elem + ' .photo-list .photo03').html('<img src="images/people/' + name + '/02.jpg" alt="" />');
      $(my_elem + ' .photo-list .photo04').html('<img src="images/people/' + name + '/03.jpg" alt="" />');  // <-- here somewhere ?

    }
  });  // <-- here somewhere ?

};

预期结果是这样的吗?

callSlides('#marc-leviste', 'leviste', function() {
  // do the next things
});



这对我来说很有意义......

function sheriff(speed, callback) {
    $('.thing').method(speed, callback);
}



所以,使用顶级示例...我想我会把它放在.html之一(&#39;&#39;,回调);

那会有意义吗?

1 个答案:

答案 0 :(得分:2)

您想要发出&#34;回调&#34;在您完成业务后,您希望触发事件的最后功能。

function mySpecialFunction(param1,param2,callback) {
  // Do some stuff. 

  // Do some more stuff.

  // Do even more stuff.

  // Check if the callback param exists and execute it if so. 
  if(callback) {
   callback();
  }
}

用法:这里我们只传递一个内联函数作为回调。

mySpecialFunction('foo', 'bar', function() {
  alert('I was called back.');
});

或者说你有另一个你想要运行的功能叫做AlterUi。您可以在代码中的其他位置定义该函数,并将其作为对mySpecialFunction的回调引用,如下所示。

mySpecialFunction('foo', 'bar', AlterUi);

希望这有帮助!