gpt4 book ai didi

javascript - 根据参数不同条件不同

转载 作者:行者123 更新时间:2023-11-28 14:09:40 24 4
gpt4 key购买 nike

如何针对这两种情况优化 processAllJobs 函数(fixAllJobs、logAllJobs)。

processAllJobs = (channel) => {
const jobsCopy = [...this.getState().jobs];
let validJobs = [];
jobsCopy.forEach((job) => {
if (channel === 'fixJobs') {
if (job.processStatus !== ERROR && job.processStatus !== FIXED) {
job.processStatus = IN_PROCESS;
job.progress = 0;
validJobs.push(job);
}
} else {
if (job.processStatus !== ERROR) {
job.processStatus = IN_PROCESS;
job.progress = 0;
validJobs.push(job);
}
}
});
this.setState({isRunning: true, jobs: jobsCopy});
ipcRenderer.send(channel, validJobs);
};

fixAllJobs = () => {
this.processAllJobs('fixJobs');
};

logAllJobs = () => {
this.processAllJobs('logJobs');
};

我刚刚想出这个,但这完全是无稽之谈。在 if 条件中编写三元运算符是一个好方法吗?

if (channel === 'fixJobs' ? job.processStatus !== ERROR
&& job.processStatus !== FIXED : job.processStatus !== ERROR) {
job.processStatus = IN_PROCESS;
job.progress = 0;
validJobs.push(job);
}

最佳答案

您希望仅当 channel 为 fixJobs 时才检查条件 job.processStatus !== FIXED,您可以编写如下条件来实现该目的

job.processStatus !== 错误 && ( channel !== 'fixJobs' || job.processStatus !== 已修复)

关于javascript - 根据参数不同条件不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60036091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com