这篇文章主要讲解了如何使用vue fetch中的.then(),内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
先看一段代码:
fetch('http://localhost:3000/books?id=123456',{
method:'get'
})
.then(function(value1){
console.log(value1);
return 'hello';
})
.then(function(value2){
console.log(value2);
return 'HelloWorld';
})
/*
.then(function(data){
console.log(data);
return data.text();
})
*/
.then(data=>{
console.log(data);
})
// 接口
app.get('/books', (req, res) => {
res.send('传统的URL传递参数!' + req.query.id)
})
在这段代码中我们发现,最初传入的是一个对象,紧接着后一个.then()的传入参数使用了前一个.then()的返回值,换句话说,就是后一个then使用前一个then的封装结果
那么现在去掉注释:
.then(function(value2){
console.log(value2);
return 'HelloWorld';
})
.then(function(data){
console.log(data);
return data.text();
})
text()方法属于fetch API的一部分,返回一个Promise实例对象,用于获取后台返回的数据
这段代码中,传入的data是上一步封装的字符串,所以此时用data.text()报错,除非data为对象
下面演示正确使用方式:
fetch('http://localhost:3000/books?id=123456',{
method:'get'
})
.then(function(data){
console.log(data);
console.log(typeof(data));
return data.text();
})
.then(data=>{
console.log(data);
console.log(typeof(data));
})
输出了接口询问的内容,为String类型
看完上述内容,是不是对如何使用vue fetch中的.then()有进一步的了解,如果还想学习更多内容,欢迎关注天达云行业资讯频道。