结合promise分析fetch获取资源

时间:2024-04-09 19:14:13

1.fetch获取资源后,会返回一个promise对象,所以可用then等方法。来进行后续处理,下面是鄙人的一个例子,a.txt文件,是当前目录下的一个文件

let url = './a.txt';
fetch(url).then(res => {
    res.text().then(data => {
        console.log(data);
    });
})

fetch获取资源后,返回一个promise对象,所以可用then等方法。(这里的res是请求的结果)。
我们将这个结果打印出来,看看都有些啥,嘿嘿嘿~~~
结合promise分析fetch获取资源
这个结果是个对象,包含了请求的状态,对于一次请求是否成功,即是否真的返回数据,我们用Response.ok来判断,看是否为真。
2.注意:fetch只有在遇到网络错误时,才会reject,并且抛出错误。但是,此时,ok的值为false。
3.fetch请求后,返回的数据格式,是一个Response对象,并不是我们理想中的js对象,所以得转化一下。

return response.json();  // 将 response.body 通过 JSON.parse 转换为 JS 对象

注意:response.json()会返回一个Promise对象。所以,我们可以用.then()的方法进行后续处理,比如,转化以后的数据。(我猜想:.json()方法的作用是将 response.body 通过 JSON.parse 转换为 JS 对象,同时,返回一个promise对象到外部
4.注意点:
fetch在发送请求时,默认是不会带上cookie的,所以,需要手动加上

fetch(url,{
	method: 'POST',
	credentials: 'include' //必须加上这个
}