开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
支付宝小程序
案例分析
sdk & demo下载
常见问题
常用工具
iot小程序
运维保障
小程序 > 支付宝小程序 > 案例分析 > 全局监听reject错误实现
贡献者
收藏
我的文档
设置
场景说明
在小程序中如何统一处理 request 错误请求信息。
在小程序中封装my.request api直接在封装接口中处理
可以在工具类中使用 promise 封装小程序的 my.request api。
封装 my.request 方法
javascript
复制代码
/*uri: 请求地址 data: 请求数据 category: 请求方式*/
export const action = (uri, data = {},
category = 'post') => {
return new promise((resolve,reject) => {
let base_uri = ''
let _opts = {
method: category,
datatype: 'json',
data,
};
if (!(uri.indexof('https://') > 0 || uri.indexof('http://') > 0)) {
// 默认域名或者测试环境域名
base_uri = 'http://axx.com/';
}
_opts.url = base_uri uri;
if (category.tolowercase() === 'post') {
_opts.headers = {}
_opts.headers['content-type'] = 'application/x-www-form-urlencoded'
}
_opts.success = _opts.complete = (r) => {
return resolve(r)
};
_opts.fail = (err) => {
调用方法
javascript
复制代码
// 导入方法
import { action } from '../../utils/action';
page({
data: {},
onload() {
// 调用方法
action('api/api/t')
.then((res) => {
console.log(res, 111)
})
},
});
全局统一处理错误方式使用全局onunhandledrejection
封装在接口中的 reject 统一请求虽然能解决大部分问题,但是有时候可能部分的 reject 处理流程希望返回后单独处理,这时候就可以在 app.js 中的 onunhandledrejection 方法来监听没有定义 reject 的处理器的 promise 错误请求。
app.js 中的方法
封装my.request请求
调用方法
全局统一处理错误方式使用全局onunhandledrejection
封装在接口中的 reject 统一请求虽然能解决大部分问题,但是有时候可能部分的 reject 处理流程希望返回后单独处理,有希望能够通知对应的监听事件的开启这时候就可以在 app.js 中的 onunhandledrejection 方法来监听没有定义 reject 的处理器的 promise 错误请求。
app.js中的方法
封装my.request请求
amxl部分代码
调用方法
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图