我可以使这个双重功能更加简洁吗?

时间:2018-10-29 19:00:41

标签: javascript reactjs

我有这个功能;

const queuedAction1 = (newlyLoggedInUser) => this.callToFunction(item, newlyLoggedInUser);
const queuedAction2 = (newlyLoggedInUser) => this.callToOtherFunction(item, newlyLoggedInUser);

if (!someCriteria) {
    dispatch(queueAction(queuedAction1));
    dispatch(queueAction(queuedAction2));
    this.showLoginModal();
    return;
}

queuedAction1();
queuedAction2();

queuedAction函数的执行顺序无关紧要,所以我有办法使整个过程更简洁吗?也许只使用一个const

1 个答案:

答案 0 :(得分:3)

为什么不将其放入数组?

const actions = [
  (newlyLoggedInUser) => this.callToFunction(item, newlyLoggedInUser),
  (newlyLoggedInUser) => this.callToOtherFunction(item, newlyLoggedInUser)
];

if (!someCriteria) {
    actions.forEach(action => queueAction(action));
    this.showLoginModal();
    return;
}

actions.forEach(action => queueAction(action));

只要您有名称为x1x2等的变量,通常这是一个信号,您需要一个适当的数据结构,而不仅仅是一堆无关的变量。

总是通过将相关的内容组合到一个容器中来简化代码的使用,从而使代码结构化。