为了账号安全,请及时绑定邮箱和手机立即绑定

快应用数据请求接口,如何使用 finally?

快应用数据请求接口,如何使用 finally?

青春有我 2019-02-05 20:22:07
问题描述在快应用开发中,使用 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})


查看完整回答
反对 回复 2019-02-05
  • 1 回答
  • 0 关注
  • 550 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信