/JSON-request-with-XHR.js Secret
var xhr = new XMLHttpRequest(); | |
xhr.open('GET', url); | |
xhr.responseType = 'json'; | |
xhr.onload = function() { | |
console.log(xhr.response); | |
}; | |
xhr.onerror = function() { | |
console.log("Houston, we've got a problem."); | |
}; | |
xhr.send(); |
just to be counter-fair myself:
fetch(url)
.then((response) => response.json())
.then((jsonData) => console.log(jsonData))
.catch(() => console.log("Houston, we've got a problem."));
So, now we can talk about less code. Doing it adding empty lines to the old example feels like somebody is cheating, maybe thinking that readers are all stupid :-(
It was a trivial example. Now do two fetches, with a "both successful" callback and a "something failed" callback.
The point isn't necessarily that it's less code (tho it is, as you conceded), it's that the entire model is simpler.
Simpler, sure ... and now abort
a fetch ... or show me a download/upload progress .... uh wait ....
My point is that LOC as first reason to ditch anything is a very poor argument.
The two APIs do different things. Comparing them to sell Fetch
is silly because fetch lacks of few things already very simple through XHR and vice-versa, XHR doesn't expose streams so it's inferior.
These are informative points. Showing extra empty lines to demonstrate how much less LOC we have now?
Meh ¯\_(ツ)_/¯
Meh ¯\_(ツ)_/¯
The amount of code cannot be the number one selling point, specially if the examples are written differently.
As example, why so many empty lines in this one, compared to the ultra-packed, less readable fetch counter-example?
If you want to compare the amount of code, don't you think this would be a more fair comparison?
There, 6 lines of readable code that do one thing per line without side-effects.