【问题标题】:creating a function in Javascript with callback arguments使用回调参数在 Javascript 中创建函数
【发布时间】:2019-08-12 11:22:30
【问题描述】:

我想创建一个“foo”函数,它有一个回调作为参数,并且还希望回调有两个参数,如下所述。我试过了,但还没有解决方案。

它没有任何用例,这只是对我自己的挑战:)

function foo(callback){
      callback();
}
foo((arg1,arg2)=> {
      arg1=0;
      arg2=1;
});

我该怎么办?

【问题讨论】:

  • 请同时添加用例。回调的参数在哪里交?
  • 你希望如何使用foo
  • 其实我只是想学习如何创建这样的函数,因为我在 NodeJs 和 jQuery 中看到了一些这样的函数,在这种情况下它的用例并不重要

标签: javascript function callback arguments arrow-functions


【解决方案1】:

传递给回调的参数由调用它的函数创建,所以在你的情况下foo 会这样做:

function foo(callback){
      callback(/*arg1: */ 0, /* arg2: */ 1);
}

foo((arg1,arg2) => {
   console.log("arg1 is", arg1, "arg2 is", arg2);
});

您调用回调就像调用任何其他函数一样。

【讨论】:

    【解决方案2】:

    固定。

    这是我学到的,我想和你分享, 要创建一个简单的回调函数,我们可以编写:

    function foo(DoSomeThing){
         DoSomeThing();
    }
    

    并进行测试:

    foo(function(){
          console.log(`Hello world`);
    });
    

    这个函数没有任何参数,所以如果我们想添加参数,我们应该这样做:

    function foo2(doSomeThing){
          doSomeThing(argument1=0,argument2=0);
    }
    

    并进行测试:

    foo2((arg1,arg2) => {
          console.log(`arg1 : ${arg1} and arg2 : ${arg2}`);
    });
    

    在这种情况下,答案是:arg1 : 0 and arg2 : 0

    在第一个例子中我使用了回调函数,在第二个例子中我使用了箭头函数。这取决于你选择它们中的任何一个......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2015-03-28
      • 2013-12-26
      相关资源
      最近更新 更多