【发布时间】:2019-06-09 18:55:52
【问题描述】:
node-fetch 文档建议使用 signal 而不是 timeout,但没有提供任何提示:
{
// These properties are part of the Fetch Standard
...
signal: null, // pass an instance of AbortSignal to optionally abort requests
// The following properties are node-fetch extensions
...
timeout: 0, // req/res timeout in ms, it resets on redirect. 0 to disable (OS limit applies). Signal is recommended instead.
...
}
(来源:https://www.npmjs.com/package/node-fetch)
这是为什么呢?什么情况下使用timeout会有问题?
【问题讨论】:
-
我不完全确定(因此我为什么要评论而不是提交答案),但我的猜测是使用超时不是问题,使用信号更灵活. AbortSignal 可以做超时可以做的所有事情,但它也可以在除超时之外的许多其他触发器上中止(例如来自其他系统的传入事件)。我认为这就是为什么它更受欢迎:更广泛的可用性。同样,我可能完全错了。
标签: node.js node-fetch