我有一个正在运行的节点进程,有时会执行一些unirest.get和unirest.post。我也有一种Web终端,从中可以看到上述未处理请求的总体进度。

问题是我需要能够取消特定的请求,但是我找不到方法。

结构是这样的:

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,并且不取消回调,回调将触发两次。

有人知道如何取消/中断/销毁它吗?

最佳答案

unirest.post('someurl').end(some callback)的结果是request module.中的Request对象

因此,您可以使用abort method

requests[1].abort();

10-08 06:33