Promise和回调函数一起使用的坑
在回调函数中,不能存在返回值为Promise的异步函数
const reqFuntion = function () {
return new Promise(function(resolve, rejecrt)) {
let promise = new Promise()
promise = axios.get(url)
promise = axios.post(url, data)
promise.then(response => {
resolve(response.data)
}).catch(err => {
reject(err)
})
})
}
const pro2 = new Promise()
async function foo() {
pro2.then(() => {
const result = await reqFuntion()
})
}
上述的函数foo会报错,不能够执行,因为本身就在异步函数体内,不能使用await关键字
解决方案
function foo() {
pro2.then(() => {
let proObj= reqFuntion()
proObj.then(result => { // 此时的result返回的就是我们想想要的结果
/*.....*/
})
})
}