3 ms·
First, this is awesome and congratulations! Second this sounds like a lot of work! Can you comment why was it so hard to add fetch to node, yet packages like “n
by dstroot 5y ago
First, this is awesome and congratulations! Second this sounds like a lot of work! Can you comment why was it so hard to add fetch to node, yet packages like “node-fetch” have existed for some time and seem to implement fetch rather easily? Only asking from a curiosity perspective.
- inglor 5y agonode-fetch (which is great btw!) implements fetch "reasonably" as in stuff like `fetch('./foo').then(x => x.json())` works but it's very far from a "real" fetch. Some people argued users would still like it and there was an attempt[1] by Myles but at the end of the day - the changes were pretty big. For example: a response body in fetch is a web stream (a whole new stream type) and to cancel you use an AbortController (web type) which is an EventTarget (another web type). `node-fetch` uses Node streams instead which is very reasonable but not something a platform can "get away" with while still calling it fetch. Here is a comment I wrote about it in the tracker during the PR review process https://github.com/nodejs/node/pull/41749#issuecomment-1025720476 https://github.com/nodejs/node/pull/41749#issuecomment-10257... [1](https://github.com/nodejs/node/pull/27979 https://github.com/nodejs/node/pull/27979)
- dstroot 5y agoTHANKS!