回调函数基础-javascript

回调函数基础-javascript,javascript,callback,Javascript,Callback,我需要写一个函数: function doTestConnCall(param1, param2, callbackfun) param1和param2是我在函数中使用的参数。 第三个参数-callbackfun是一个在完成dotestconnccall 如何做到这一点 是否可以在一个方法内传递2个回调。说dotestconnccall(param1,callback1,callback2) 我想我缺少一些基本的东西。有谁能引导我吗你可以这样做: callbackfun(argument1,

我需要写一个函数:

function doTestConnCall(param1, param2, callbackfun)
param1和param2是我在函数中使用的参数。 第三个参数-
callbackfun
是一个在完成
dotestconnccall

  • 如何做到这一点
  • 是否可以在一个方法内传递2个回调。说
    dotestconnccall(param1,callback1,callback2)

  • 我想我缺少一些基本的东西。有谁能引导我吗你可以这样做:

    callbackfun(argument1, argument2);
    
    或:

    或:

    对于多个回调也可以这样做。例如:

    callback1.call(this);
    callback2.call(this);
    
    见:

    以及:

  • 在您正在编写的函数中,在适当的时候调用任何回调函数——在您描述的情况下,在它完成其核心工作之后

  • 当然可以。一个接一个地给他们打电话

    function multipleCallbacks(arg, arg, callback1, callback2) {
        // Do some stuff
    
        // Do error checking in the real world if you need to be tolerant
        callback1();
        callback2();   
    }
    

  • JS中的函数是顶级构造。这意味着
    function hello(){}
    var hello=function(){}相同。因此,如果您想将
    hello
    传递给上述函数,您可以在使用上述任一方法定义
    hello()
    后调用
    dotestconnccall(param1,param2,hello)

    这就是实现方法

    可以将您想要传递的内容作为方法参数传递

    function doTestConnCall(param1, param2, callbackfun){
       DO YOUR LOGIC
       callbackfun() // CALL YOUR CALLBACK
    }
    

    @穆萨:谢谢你的编辑,我试图修复它,但有时降价是邪恶的。坦白地说,我看不出你们放进去的和我做的有什么不同,但你们能做什么。你们的意思是从字符串调用javascript函数吗?看看这个
    function multipleCallbacks(arg, arg, callback1, callback2) {
        // Do some stuff
    
        // Do error checking in the real world if you need to be tolerant
        callback1();
        callback2();   
    }
    
    function doTestConnCall(param1, param2, callbackfun){
       DO YOUR LOGIC
       callbackfun() // CALL YOUR CALLBACK
    }