【问题标题】:Passing parameters to a callback function using arrow function使用箭头函数将参数传递给回调函数
【发布时间】:2018-12-13 21:02:43
【问题描述】:

我知道这是 ES5 的 duplicated 问题,但我正在寻找 ES6 箭头函数的语法。我的代码如下:

fetchItems = (callback) => {
    //After ajax success
    callback(response);
}

const myParams = {name:"John"}
this.fetchItems((res) => {
    console.log(res.data);
});

对于上述场景,我想在函数调用中传递一些参数(myParams),我该如何实现呢?

【问题讨论】:

  • 什么是getCountries 什么是this.fetchItems,它们应该如何关联?!
  • 抱歉,打错了
  • 由于箭头和常规函数在这方面没有区别,我投票关闭它。
  • @JonasW。我猜这个问题是关于“一些参数”的,因为arguments 在 lambda 函数中不起作用
  • @Jonas W 现在我意识到了,但在某些情况下它对我不起作用。

标签: javascript ecmascript-6 arrow-functions


【解决方案1】:

你可以用同样的方式做到这一点

const getCountries = (data, callback) => {
    //After ajax success
    callback(response);
}

getCountries("data", ()=>{});

【讨论】:

    【解决方案2】:

    你可以这样做:

    const fetchItems = (callback, ...params) => {
        //Do whatever you want with the params
        callback(response);
    }
    

    使用示例:

    const fetchItems = (callback, ...params) => {
        callback(params);
    }
        
    fetchItems (console.log, 'foo', 1);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多