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

问题描述

快应用开发中,使用 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(() => {  // 无法调用到这里?})


米脂
浏览 375回答 1
1回答

紫衣仙女

用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})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript