gpt4 book ai didi

javascript - 如何将 Promises 与 if 结合起来?

转载 作者:行者123 更新时间:2023-11-30 11:43:44 25 4
gpt4 key购买 nike

在下面的例子中,我想有条件地执行somePromise,然后不管条件如何执行anotherPromise

if (somecondition) {
somePromise().then((args) => { ... } );
}

// Not waiting for somePromise() here, but it should.
return anotherPromise().then((args) => {
muchmorecodehere;
}

我现在唯一能想到的办法就是把最后一部分变成一个函数,在两个分支中执行,但是这样看起来很麻烦。我肯定做错了什么?

let helperFunction = () => {
return anotherPromise().then((args) => {
muchmorecodehere;
}
}

if (somecondition) {
return somePromise().then((args) => { ... } ).then(helperFunction);
}

return helperFunction;

最佳答案

您可以利用 .then() 返回一个新的 promise 并链接该 promise 或一个虚拟 promise 这一事实:

var nextPromise = somecondition
? somePromise.then((args) => { ... })
: Promise.resolve();

return nextPromise.then(() => anotherPromise)
.then((args) => {
// muchmorecodehere
});

关于javascript - 如何将 Promises 与 if 结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41715148/

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