Jquery在自定义函数中调用回调函数

我有一个自定义函数,我想添加一个回调函数,我查看了其他问题,但我找不到我的问题的答案。 所以基本上它看起来像这样:

function myfunction() { // something } 

我有一个不同的函数,我想触发作为回调,最终我想调用myfunction这样:

 myfunction(callback()); 

那么有人可以告诉我这样做的方法吗?

你会这样称呼它(将回调函数作为参数传递):

  myfunction(myCallbackFn); 

请注意,在将函数的引用作为参数传递时,函数名后面没有括号。 这不会调用该函数,只是传递对它的引用,然后可以在自定义函数中调用它。

您将定义您的函数,然后在其中调用回调函数,如下所示:

 function myfunction(cb) { cb(arg1, arg2); } 

注意,有多种方法可以在自定义函数中实际调用回调函数。 如果你只需要正常调用它并且不关心this参数,你可以使用:

 cb(); 

如果要this参数设置为某个值,可以使用以下命令:

 cb.call(thisArg, arg1, arg2); 

如果要传递当前参数或传递参数数组并设置this参数,则可以使用:

 cb.apply(thisArg, argArray); 

引用.apply().apply()


您当前的代码在此区域中有javascript错误:

 test(rand_gyumolcs, link, callback){ callback(); }; 

这不是合法的javascript。 我不知道你要做什么,但这看起来像函数声明的一半和函数调用的一半。 如果您只想调用测试函数,您只需使用:

 test(rand_gyumolcs, link, callback); 

在测试中,如果你想在动画完成后调用回调函数,那么你必须挂钩动画的完成函数然后调用回调。

这是一个带回调值的回调示例,该回调值也是输入参数:

 function test2(arg1, arg2, callback) { var result = callback(arg1, arg2); alert('arg1=' + arg1 + ', arg2=' + arg2 + ', result=' + result); } test2(1, 2, function(a, b) { return a + b; }); 
 function myfunction(callback) { // something callback(); } myfunction(callback); 

注意我没有调用回调,只是将它作为函数引用传递给我的函数。 然后我在函数结尾或任何你想做的地方调用它。