问题描述在快应用开发中,使用 Promise 方式,针对 complete 这种情况,用 finally 不能正常的工作;查阅些资料才知道,快应用官方规范没有对 finally 支持,那么如何解决这个问题呢?相关代码import fetch from '@system.fetch'fetch.fetch({
url: params.url,
method: params.method,
data: params.data
})
.then(response => { // ....})
.catch((error, code) => { console.log(`request fail, code = ${code}`)
})
.finally(() => { // 无法调用到这里?})
1 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
用Promise,在成功里面返回resolve,失败里面返回reject,2个里面都可传递参数
function fetchData(){
fetch.fetch({ url: params.url, method: params.method, data: params.data
})
.then(response => { // success
return Promise.resolve(response);
})
.catch((error, code) => { console.log(`request fail, code = ${code}`); // err
return Promise.reject(error);
})
}之后调用不管成功或失败都执行你想在finally里面的代码
fetchData().then(res => { // when success
// do final}).catch(err => { // when error
// do final})添加回答
举报
0/150
提交
取消
