问题描述在快应用开发中,使用 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贡献2041条经验 获得超4个赞
用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
提交
取消