Comments (7)
You could use the beforeSend
callback to access the request object and a add your code to abort the current request.
this.$http.post('url', function (data) {}, {beforeSend: function(xhr) {
// use XMLHttpRequest and add xhr.abort callback
}});
from vue-resource.
Great, I'll give it a try, thanks
from vue-resource.
Ok, so I'm trying to push the current request to an array of requests. That way, before firing a new one, I can iterate through all the requests and abort them.
I initialized xhr_request to an empty array on the vue instance.
this.$http.get('http://whatever.com', function (data, status, request) {
// !! data is empty if I this.xhr_request.push(xhr) on the beforeSend callback
}, { beforeSend: function(xhr) {
for (var i = 0; i < this.xhr_request.length; i++) {
this.xhr_request.shift().abort();
}
this.xhr_request.push(xhr);
}});
BUT, when I push the current xhr to the xhr_request array, the returned data object from the request is empty. Chrome inspector shows the expected response from the API. I've tested some scenarios, its definitely pushing xhr to an array that causes the issue.
Is there something I'm missing ??
Thanks!!
from vue-resource.
After a bit more debugging :
setting my xhr_requests object globally an not on the vue instance does the trick. I don't fully understand why but it's good enough for now
var xhr_requests = [];
new Vue({
...
beforeSend: function(xhr) {
// Abort old unfinished requests
for (var i = 0; i < xhr_requests.length; i++) {
xhr_requests.shift().abort();
}
// Add current request to the queue
xhr_requests.push(xhr);
}
...
from vue-resource.
@rleger if you feel like you have a sufficient solution and don't have anything else to add then it's best to close out this issue. Thanks.
from vue-resource.
There you go, sorry.
from vue-resource.
beforeSend is renamed to before, as I found out
from vue-resource.
Related Issues (20)
- IE11 issue with executor.bind
- Update got dependency?
- uploadProgress is not triggered?
- Please mark the repository as not maintained or give it to the community HOT 3
- How to prevent a console.error on certain GET requests?
- Vue Resource Always throwing in error callback in firefox
- change the url in Vue.http.interceptors with asynchronous methods
- IE11 xhr.send(undefined) sends 'undefined' string as POST payload
- Setting root does not take effect HOT 6
- request.abort() is not there
- Is this package still being maintained? HOT 2
- Catch is not recognized in promise
- Error firefox IPV6 VUE.JS vue-resource.common.js XMLHttpRequest
- Upgrade got HOT 3
- Trying to get in touch regarding a security issue
- how use vue-resource in composition API HOT 1
- Any plans for Vue 3 support? HOT 3
- The field is converted to undefined HOT 1
- Can I use this package for SEO optimisation tasks?
- HTTP-semantics high vulnerability - update got dependency
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-resource.