原本代码是判断浏览器支不支持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对象吧