【问题标题】:Passing unknown number of parameters to a callback in Javascript [duplicate]将未知数量的参数传递给Javascript中的回调[重复]
【发布时间】:2018-06-21 14:07:14
【问题描述】:

我有这样的功能:

myFunction(callback){
    somePromise
    .then(function (returnValue) {
        //figure out how to do a multiple arguments here to callback
        callback(returnValue); //figure out how to pass the arguments that were passed to myFunction in here in addition to the returnValue of somePromise.
    });
}

我希望能够这样称呼它:

myFunction(myCallBack, callbackArg1, callbackArg2);
myFunction(differentCallback, callbackArg1, callbackArg2,callbackArg3, callbackArg4);
myFunction(thirdCallback);

我希望能够允许用户将回调函数传递给 myFunction,并使用 Promise 的返回值和传递给 myFunction() 的任何其他参数使用回调执行

我尝试使用 callback.apply(),但似乎无法获取传递给它的参数,因为我超出了 Promise then() 块的范围。

【问题讨论】:

  • 您标记的这个重复问题与传递给函数要求多个参数的回调无关。
  • 问题更新更清晰

标签: javascript callback promise


【解决方案1】:

你可以做到的:

myFunction(callback, arg1, arg2){
    somePromise
    .then(function (returnValue) {
        //figure out how to do a multiple arguments here to callback
        callback(returnValue, arg1, arg2);
    });
}

myFunction(myCallBack, callbackArg1, callbackArg2);

【讨论】:

  • 问题是我并不总是知道有多少参数。
猜你喜欢
  • 2011-05-06
  • 2015-08-22
  • 1970-01-01
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
  • 2011-03-28
  • 2011-10-05
相关资源
最近更新 更多