如何取消nodejs中的unirest请求

How to cancel a unirest request in nodejs

我有一个节点进程 运行,它不时执行一些 unirest.get 和 unirest.post。我还有一种网络终端,从中我可以看到上述 unirest 请求的整体进度。

问题是我需要能够取消特定请求,但我不知道如何取消。

结构是这样的:

var requests = [];
requests.push(unirest.post('someurl').end(somecallback));
requests.push(unirest.post('someurl').end(somecallback));
requests.push(unirest.post('someurl').end(somecallback));

我想做类似的事情:

requests[1].cancel(); // but of course this method doesn't exist

因为在这种情况下我不能让回调触发,因为目标是取消它以再次请求相同的 url,如果不取消它,回调将触发两次。

有人知道如何cancel/interrupt/destroy吗?

unirest.post('someurl').end(some callback) 的结果是来自 request module.

Request 个对象

因此,您可以使用 abort method:

requests[1].abort();