News for hackers. Stuff that matters.
Re:D3.js 5.0 is out by omarforgotpwd on Thursday March 22, 2018 @10:00PM (#16654488)
Wow, didn't even know about the Fetch API. XMLHTTPRequest, the API that changed software forever by igniting a wave of more powerful browser applications, is finally going to be replaced. Funny that the last 20 years of the web were all built on this ridiculous API that Microsoft came up with to try and make Outlook work in a browser. Good riddance, but you will be missed. Not that any of us has used that disgusting API directly in the last 10 years.
Re:D3.js 5.0 is out by realandreskytt on Friday March 23, 2018 @01:28AM (#16655320)
We used to do that stuff using frames back in the day. You’d have a hidden frame, change its url and look at what that dom contains. At scale, too. I was amazed at all the hoo-haa around that “new” xmlhttp API
Re:D3.js 5.0 is out by dustinmoorenet on Friday March 23, 2018 @09:32AM (#16657869)
We did the same thing, and to dynamically pull in content into the parent context, we created our own script block tag. <div type="javascript">...</div> so that we could extract the JS and eval it in the parent context. The clunky thing was that you had to hand escape reserved html characters (&, <, etc) in your JS code. So many bugs...
Re:D3.js 5.0 is out by cicloid on Friday March 23, 2018 @09:37AM (#16657927)
Wow, then I think that I jumped directly to that hoo-haa since I didn't even consider the technique you are describing, I wasn't expecting today learning something from dynamic HTML past of the web. Thanks!
Re:D3.js 5.0 is out by simcop2387 on Friday March 23, 2018 @03:36PM (#16661870)
Yea there were a few things like that to emulate it. Things like JSONP + document.write() were also very common, though very ugly.
Re:D3.js 5.0 is out by nemothekid on Thursday March 22, 2018 @11:32PM (#16654867)
It's been around for 2 years, I noticed it when github released a polyfill.

It's been great to rely on a standard function, than any of the libraries to make http requests.

Re:D3.js 5.0 is out by component on Friday March 23, 2018 @12:37AM (#16655112)
I still use on axios over fetch. Mainly because fetch doesn't have abort function. axios implements cancelable promise proposal that didn't go though TC39

Tho it has been a while since I checked TC39 status on fetch

Re:D3.js 5.0 is out by thomasfoster96 on Friday March 23, 2018 @05:22AM (#16656324)
Fetch is a Web API, not an ECMAScript language feature, so TC39 doesn’t have much to do with it. They do do Promises though and Cancellation is a Stage 1 proposal [0], so it’s more than a year away from standardization at best.

WHATWG handles Fetch and their spec[1] was updated seven days ago.

[0] https://github.com/tc39/proposals/blob/master/README.md [1] https://fetch.spec.whatwg.org

Re:D3.js 5.0 is out by mhagemeister on Friday March 23, 2018 @02:00AM (#16655479)
Fetch requests do support cancelation for a while now through `AbortController`. See: https://developers.google.com/web/updates/2017/09/abortable-...
Re:D3.js 5.0 is out by igvadaimon on Friday March 23, 2018 @07:13AM (#16656820)
Which doesn't work even in Chrome.
Re:D3.js 5.0 is out by mattwoodnyc on Friday March 23, 2018 @01:31AM (#16655340)
I also choose Axios over Fetch for now. I had the following post that made the case - https://medium.com/@thejasonfile/fetch-vs-axios-js-for-makin...

Thoughts?

Re:D3.js 5.0 is out by ThoAppelsin on Friday March 23, 2018 @03:23AM (#16655813)
Fetch API still cannot handle progress events, unfortunately, so it is not yet a backwards compatible replacement.
Re:D3.js 5.0 is out by molsson on Friday March 23, 2018 @04:39AM (#16656146)
And until recently it could abort() either, but Chrome/FF/Edge all have it now (yay!) and there is a polyfill for Safari/MSIE and old browsers: https://www.npmjs.com/package/abortcontroller-polyfill
Re:D3.js 5.0 is out by coldtea on Thursday March 22, 2018 @11:14PM (#16654802)
>Not that any of us has used that disgusting API directly in the last 10 years.

Well, duh. It was a lower level API, offering more control.

Fetch isn't much better. Half-arsed at best, and also needs a higher level wrapper to achieve the same terseness as popular AJAX utility libs.

Re:D3.js 5.0 is out by untog on Friday March 23, 2018 @02:50PM (#16661393)
> Fetch isn't much better. Half-arsed at best, and also needs a higher level wrapper to achieve the same terseness as popular AJAX utility libs.

Really?

   let response = await fetch('http://www.example.com');
   let json = await response.json();
It's not not terse.
Re:D3.js 5.0 is out by coldtea on Saturday March 24, 2018 @01:56PM (#16667861)
That's just for a GET.

Sending e.g. a JSON POST request requires you to specify the content type and to manually stingify the payload.

It's better than XMLHttpRequest but not as terse as the tons of helper libraries that we used (instead of XMLHttpRequest) anyway...