如何执行对象中的多个函数?技术实现方案求助
批量调用对象中包含的所有函数
首先注意:你当前的data对象里直接执行了funcA()、funcB(),存储的是这些函数的执行结果,而非函数本身。如果要重复调用这些函数,得先把data改成存储函数引用:
// 修正数据结构:存储函数本身,而非执行结果 const data = { fruits: funcA, vegetables: funcB, bread: funcC, }
接下来就可以用Object.values()获取所有函数,遍历批量调用并传入dispatch:
普通代码结构中实现:
firstFunc(); // 批量调用对象内所有函数并dispatch Object.values(data).forEach(func => { dispatch(func()); }); someMoreFunctions();
组件onClick事件中实现:
<Component onClick={() => { firstFunc(); Object.values(data).forEach(func => { dispatch(func()); }); someMoreFunctions(); }} />
如果你的业务场景确实需要data存储函数执行结果,那得额外维护一份函数列表,比如单独定义一个存储函数引用的对象,再按上面的方式批量调用。
内容的提问来源于stack exchange,提问作者Alyona
相关产品推荐
相关产品推荐

