gpt4 book ai didi

javascript - 添加对 promise 的支持的最佳方式

转载 作者:行者123 更新时间:2023-11-30 19:26:33 27 4
gpt4 key购买 nike

我想将不使用标准 node.js 回调样式的现有包转换为支持现有回调样式或 promise 。考虑这样的事情:

api.getSomething({prop: ...}, callback)

它目前使用 request 库和 api.getSomething 做这样的事情:

return request({
url: ...,
data: ...,
}, callback)

在我看来,这种高级解决方案基本上是检查 callback 是否未定义,如果是,则返回一个 promise 。但是,request 库的使用似乎使这变得复杂,因为我想要一个 request 库,它在未定义回调时返回 promise ,否则返回请求。

使用 request-promise 库是否有意义,如果提供回调,则在 then 中调用回调,否则只返回数据然后?

最佳答案

是的,你可以做到。确保总是简单地返回一个 promise ,如果提供了回调,也调用它。

const promise = request({
url: …,
data: …,
});
if (typeof callback == "function") {
promise.then(result => { callback(null, result); }, error => { callback(error); });
}
return promise;

如果您不止一次这样做,我建议您使用辅助函数。

关于javascript - 添加对 promise 的支持的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56842873/

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