我需要写一个函数:
function doTestConnCall(param1, param2, callbackfun)
param1& param2是我在函数内部使用的参数。
第三个参数 - callbackfun
是在完成doTestConnCall
doTestConnCall(param1,callback1,callback2)
认为我缺少一些基础知识。任何人都可以带领我
答案 0 :(得分:1)
您可以这样做:
callbackfun(argument1, argument2);
或:
callbackfun.apply(this, [ argument1, argument2 ]);
或:
callbackfun.call(this, argument1, argument2);
多次回调也可以这样做。例如:
callback1.call(this);
callback2.call(this);
请参阅:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/apply
并且:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/call
答案 1 :(得分:0)
在你正在编写的函数中适当地调用任何回调 - 在你描述的情况下,在完成其核心工作之后。
是的,当然。一个接一个地打电话给他们。
function multipleCallbacks(arg, arg, callback1, callback2) {
// Do some stuff
// Do error checking in the real world if you need to be tolerant
callback1();
callback2();
}
答案 2 :(得分:0)
JS中的函数是顶级构造。这意味着function hello() {}
与var hello = function() {};
相同。因此,如果您想将hello
传递给上述函数,则可以在使用上述任一方法定义doTestConnCall(param1, param2, hello)
后调用hello()
。
答案 3 :(得分:0)
这就是你实现它的方式。
可以将您想要的内容作为方法参数传递。
function doTestConnCall(param1, param2, callbackfun){
DO YOUR LOGIC
callbackfun() // CALL YOUR CALLBACK
}