[英]Conditionally chaining promises - how to avoid code duplication?
我有以下内容:
if (someCondition) {
return promiseMakerA().then(function() {
return promiseMakerB(someLongListOfArguments);
});
}
else
return promiseMakerB(someLongListOfArguments);
如何消除代码重复( promiseMakerB
)?
您可以执行以下操作,但这不一定是最易读的方法
return (someCondition ? promiseMakerA(): Promise.resolve()).then(function() {
return promiseMakerB(someLongListOfArguments);
});
假设在每个条件下参数对于promiseB都是相同的,首先将其存储在变量中...然后在适用的情况下返回该变量
let promiseB = promiseMakerB(someLongListOfArguments);
if (someCondition) {
return promiseMakerA().then(function() {
return promiseB;
});
}
else
return promiseB;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.