想问大家一个问题,我在app.js里面写了一个公共的function,此function里面有request,然后return回传值,现在问题是request是异步请求,return的时候请求还未执行完,会传个空值过去,这种怎么解决?
想问大家一个问题,我在app.js里面写了一个公共的function,此function里面有request,然后return回传值,现在问题是request是异步请求,return的时候请求还未执行完,会传个空值过去,这种怎么解决?
export let http = ({url,method,data}) => {
let p = new Promise((resolve,reject) => {
wx.request({
url,
data,
method,
header: {'content-type':'application/json'},
success: resolve,
fail: reject
})
})
return p;
}
使用import { http } from './async.js';
export let getList = (data) => {
return http({
url: `${接口}${拼接的字符串}`,
method:'get',
data
})
}
4 回答1.7k 阅读✓ 已解决
2 回答1.9k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答929 阅读✓ 已解决
2 回答676 阅读
1 回答1.4k 阅读
2 回答725 阅读
你这个 公共function 接受一个函数作为参数。
request 拿到请求返回值得时候,执行这个回调函数参数。
或者,你这个 公共function 返回1个 Promise 函数,拿到返回值的时候 resolve 一下。