mirror of
https://github.com/tenrok/axios.git
synced 2026-06-17 19:21:29 +03:00
Fixed race condition on immediate requests cancellation (#4261)
* Fixes #4260: fixed race condition on immediate requests cancellation * Update http.js Co-authored-by: Jay <jasonsaayman@gmail.com>
This commit is contained in:
@@ -1166,6 +1166,34 @@ describe('supports http with nodejs', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('should able to cancel multiple requests with CancelToken', function(done){
|
||||
server = http.createServer(function (req, res) {
|
||||
res.end('ok');
|
||||
}).listen(4444, function () {
|
||||
var CancelToken = axios.CancelToken;
|
||||
var source = CancelToken.source();
|
||||
var canceledStack = [];
|
||||
|
||||
var requests = [1, 2, 3, 4, 5].map(function(id){
|
||||
return axios
|
||||
.get('/foo/bar', { cancelToken: source.token })
|
||||
.catch(function (e) {
|
||||
if (!axios.isCancel(e)) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
canceledStack.push(id);
|
||||
});
|
||||
});
|
||||
|
||||
source.cancel("Aborted by user");
|
||||
|
||||
Promise.all(requests).then(function () {
|
||||
assert.deepStrictEqual(canceledStack.sort(), [1, 2, 3, 4, 5])
|
||||
}).then(done, done);
|
||||
});
|
||||
});
|
||||
|
||||
it('should allow passing FormData', function (done) {
|
||||
var form = new FormData();
|
||||
var file1= Buffer.from('foo', 'utf8');
|
||||
|
||||
Reference in New Issue
Block a user