gpt4 book ai didi

javascript - 在 resolve 中返回另一个异步函数

转载 作者:行者123 更新时间:2023-12-03 07:04:52 24 4
gpt4 key购买 nike

我有一个像这样的函数调用:

await someFunction(foo);

someFunction 定义如下:

const someFunction = foo => {
return new Promise((resolve, reject) => {
if (foo) {
return resolve(someOtherPromise());
}
reject();
}
}

这是有效的代码吗?我已经测试过了,似乎没问题。

如果 footrueawait someFunction() 将转换为 await someOtherPromise() 是否正确即它会继续等待 someOtherPromise 解决吗?

最佳答案

是的,它是有效的代码并且有效 by resolving with a promise ,但闻起来像 Promise constructor antipattern .相反,我建议写

function someFunction(foo) {
if (foo)
return someOtherPromise();
else
return Promise.reject();
}

async function someFunction(foo) {
if (foo)
return someOtherPromise();
else
throw;
}

(最好抛出一个带有消息的 new Error,而不是 undefined)

关于javascript - 在 resolve 中返回另一个异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64154434/

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