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是请求的结果)。
我们将这个结果打印出来,看看都有些啥,嘿嘿嘿~~~
这个结果是个对象,包含了请求的状态,对于一次请求是否成功,即是否真的返回数据,我们用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' //必须加上这个
}