📅  最后修改于: 2023-12-03 15:17:54.659000             🧑  作者: Mango
在 Node.js 中,http.ClientRequest.abort()
方法可用于终止正在进行的 HTTP 请求。该方法终止请求并且不会等待响应。终止后,它将触发名为 abort
的 error
事件。
request.abort()
无参数。
undefined
。
以下示例演示了如何使用 abort()
方法:
const http = require('http');
const options = {
hostname: '127.0.0.1',
port: 3000,
path: '/long-running-request',
method: 'GET'
};
const req = http.request(options, (res) => {
console.log(`请求的状态码:${res.statusCode}`);
res.on('data', (chunk) => {
console.log(`响应的数据: ${chunk}`);
});
res.on('end', () => {
console.log('响应数据已全部接收完毕。');
})
});
req.on('error', (error) => {
console.error('请求发生错误:' + error);
});
// 20s 后中断请求
setTimeout(() => {
req.abort();
console.log('请求已中断。');
}, 20000);
req.end();
在此示例中,我们创建了一个 HTTP 请求并且使用 setTimout
函数在 20 秒后强制中断该请求。req.abort()
方法将在此处触发,终止请求并且不会等待响应。此后,会触发名为 abort
的 error
事件。