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

posted @ 2022-08-11 14:05  艾尔夏尔-Layton  阅读(62)  评论(0编辑  收藏  举报