gpt4 book ai didi

javascript - NodeJS - 使用 Promises 进行 API 调用

转载 作者:行者123 更新时间:2023-11-30 15:53:58 27 4
gpt4 key购买 nike

我有一个 nodeJS 库,我在其中编写特定功能,它将调用 SOAP API 来获取信息。

我希望人们可以轻松地使用图书馆。这样他们就可以调用:

library.requestThatService(parameters ...);

图书馆应该处理幕后的所有脏活。我希望图书馆做的是首先可能验证给定的参数。然后根据参数构造要发送的消息(序列化?),创建签名等...最后,使用包含之前创建和签名的消息的 soap 客户端调用 soap API。

现在我正在考虑为此使用 javascript Promises。我不确定我是否应该包装整个 library.requestThatService(parameters ...) 函数以返回一个 promise ,然后使用失败和成功函数(.then 在实践中)。 我真正想问的是,我是应该只对实际的异步 API 调用使用异步,还是对整个库函数使用异步?我可以向它添加一个回调函数,而不是让库调用返回一个 promise 。然后在库函数中,我应该只对发送 SOAP 请求的部分使用异步 promise 。并且不包括异步部分的验证和消息创建,因为它们不是异步操作。

SOAP 客户端可能已经自行返回一个 promise 。所以我会有两个 promise 围绕一个函数 float ,我不确定这是否真的是个好主意。那么其中一个 promise 将不会被解决或拒绝。

最佳答案

Should I only use async for the actual async API call, or for the whole library function?

是的 - 始终在最低级别 promise !您会想要自己使用 promise 的力量,不是吗?

The SOAP client might return a promise by itself already. So then I would have two promises floating around a function, and I'm not sure if that is a good idea at all really.

确实,将返回 promise 的调用包装在另一个 new Promise 调用中是一个 exceptionally bad idea甚至。

关于javascript - NodeJS - 使用 Promises 进行 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38866725/

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