javascript - 在函数中传递多个回调

标签 javascript reactjs

funcOne(cb) {
  //some async actions
  cb(resp) //pass resp to callback function
}



fucntionTwo(resp) { console.log(resp) }
fucntionThree(resp) { console.log(resp) }

funcOne(funcTwo)
funcOne(funcThree)

在上述情况下,函数 1 将运行两次,如何让 funcOne 运行一次但触发 funcTwo 和 funcThree?我需要从 funcOne 传递响应并执行 funcTwofuncThree表示在funcOne中传递多个回调。

我知道我可以传递多个参数,但还有其他方法吗?

最佳答案

您可以使用 rest parameter语法,然后使用 forEachapply 函数。有点像

function funcOne(...cb) {
        console.log("one");
        cb.forEach(s => s.apply());
}

function funcTwo() {
        console.log("two");
}

function funcThree() {
        console.log("three");
}

funcOne(funcTwo, funcThree);

您可以使用任意数量的函数参数调用 funcOne

关于javascript - 在函数中传递多个回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48942259/

相关文章:

javascript - 在浏览器中调用dust.loadSource()时,编译的模板引用未定义

javascript - 如何使用 Javascript 从文本框中获取文本的值

reactjs - 我们如何通过 highcharts-react-official 包显示加载

javascript - React 中客户端身份验证的示例

javascript - 控制 React 组件渲染的顺序

javascript - 如何使用 JavaScript 以编程方式设置选择框元素的值?

php - 建立一个网站要在智能手机上正确显示,我应该记住哪些要点?

javascript - 按字母顺序对字符串数组进行排序,然后按数字顺序按特殊字符排序

css - 使用 CSS 对 SVG 图像进行部分填充

javascript - React render-pdf open in new page onclick 慢问题