node-fetch

2018-11-26  本文已影响0人  ahappyone

minimal code for a window.fetch compatible API on Node.js runtime.

特征:

1、与 window.fetch 保持一致;

2、使用原生 promise

3、在 request 和 response 的 body 中使用原生 node streams。

4、内容解码成 UTF-8(res.text()、res.json())

5、有用的扩展项:timeout、redirect.limit、response size 限制,explite errors

与客户端 fetch 的差异:

1、没有 cross-origin、content security policy、mixed content、service workers;

2、url 必须是绝对路径(客户端会自动为相对路径补上当前 origin);

3、没有禁用的 headers on the upside;

4、重定向后 res.url 包含最终的 url (to test);

5、res.body 是 nodejs stream,可以为 null,string,buffer,readable stream。

6、错误处理

7、只支持 res.test(),res.json(),res.blob(),res,arrayBuffer,res.buffer()

8、没有内建缓存

9、res.clone() 方法只支持 16Kb 的缓存,客户端大于 1 M

10、使用 new Response(body) 会影响 bodyUsed 参数的设置。

使用:

plain text or html 、 json 、 simple post、post with json、post with form parameters、处理异常

streams、buffer、headers and other meta data、文件form-data、取消 streamed requset 请求

API:fetch(url, options)

url:绝对路径

options:headers、response、request、body、fetchError、abortError

上一篇 下一篇

猜你喜欢

热点阅读