原本代码是判断浏览器支不支持fetch,然后请求服务器拿数据,现在想把这个这一块封装成一个函数,return的时候有点理不清,异步一直return是undefined,想问怎么能通过一个函数的return拿到数据
if(self.fetch) {
fetch('/db/queryAll').then((res) => {
if(res.ok){
res.json().then((data) => {
this.setState({
data : data.results
})
})
}
});
}else{
var That = this;
console.log('垃圾浏览器');
$.ajax({
url: '/db/queryAll',
type: 'GET'
})
.done(function(data,textStatus, req) {
That.setState({
data : data.results
})
});
}
if(self.fetch) {
fetch('/db/queryAll').then((res) => {
if(res.ok){
return (
then((data) => {
return data.results //////这样return不行,请问要怎么return
})
)
}
})
}else{
var That = this;
console.log('垃圾浏览器');
$.ajax({
url: '/db/queryAll',
type: 'GET'
})
.done(function(data,textStatus, req) {
return data.results //////这样return不行,请问要怎么return
});
}
你这code里的return是可以的吧,这个return是回调函数的return,我猜你是想在上面code所在的function里return出来,做不到的,用defer/promise对象吧