在checkData方法中,我正在检查2个API的状态是已完成还是已拒绝,并基于此发送API数据和FailFlag。我如何优化它,因为我已经使用了if else语句。
const checkData = (data, allData, failFlag) => {
if (data && data[0].status === 'fulfilled' && data[1].status === 'fulfilled') {
if (data[0].value && data[1].value) {
allData.push(...data[0].value, ...data[1].value);
failFlag = 'NONE';
}
} else if (data[0].status === 'rejected' && data[1].status === 'fulfilled') {
allData.push(...data[1].value);
failFlag = 'INTERNAL';
} else if (data[0].status === 'fulfilled' && data[1].status === 'rejected') {
allData.push(...data[0].value);
failFlag = 'EXTERNAL';
console.log('All data with fail flag', allData, failFlag);
} else {
Promise.reject('Both are rejected');
failFlag = 'ALL';
}
return { errorFlag: failFlag, accounts: allData };
};
1条答案
按热度按时间hujrc8aj1#
我不知道为什么要传入
failFlag
,因为你从来没有使用过这个变量。我也不知道为什么要写Promise.reject('Both are rejected');
。但是,代码可以简化如下: