fetch
简述
fetch是一种基于promise的http请求方式,是XMLHttpRequest的一种替代。它并没有封装XMLHttpRequest,它就是原生js。和xhr相比它最大的优点就是基于promise,并且它语法简洁,具语义化。
基本语法
fetch的语法非常简单
let promise = fetch(url, [options])
其中url就是目标api的请求地址,options不加的话默认是get请求
fetch会返回一个该调用代码应该用来获取结果的promise,我们可以用内建的respone对象来对响应头进行解析
let response = await fetch(url);
如果 fetch
无法建立一个 HTTP 请求,例如网络问题,亦或是请求的网址不存在,那么 promise 就会 reject。异常的 HTTP 状态,例如 404 或 500,不会导致出现 error。
为了获取 response body,我们需要使用一个其他的方法调用。
一般我们用json(),所以典型的fetch由两个await组成
let response = await fetch(url, options); // 解析 response header let result = await response.json(); // 将 body 读取为 json
或者用promise的方式进行处理
fetch(url, options) .then(response => response.json()) .then(result => /* process result */)
References
https://zh.javascript.info/fetch
一点一点积累,一点一点蜕变!