Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >监控微信小程序wx.request请求失败

监控微信小程序wx.request请求失败

原创
作者头像
Fundebug
发布于 2019-07-01 02:12:34
发布于 2019-07-01 02:12:34
2.4K0
举报
文章被收录于专栏:FundebugFundebug

在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求。其重要性不言而喻。然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request 请求失败",可以搜索到很多相关的文章,下面列出一些:

有些事开发时候遇到,有些是产品上线后遇到。线上的情况比开发和测试的时候复杂的多,失败的原因可能各种各样。既然测试无法 100%保证上线不会出问题,我们唯一要做的就是及时发现和快速响应。

微信小程序运维中心提供了错误日志记录,但功能还是比较有限。只有简单的统计和错误展示功能,而往往仅仅靠报错信息是无法清晰理解错误成因的。这个时候使用强大的第三方监控服务就很有必要了。

小程序 Demo

我们使用一款由jectychen开发的wechat-v2ex来做演示,v2ex 数据 api 基本上使用了 samuel1112 的仓库v2er里封装的方法。

其运行效果如下:

最左侧本来应该有头像的,可能由于防盗链的原因没有显示出来。

有时候一个微信小程序可能会用到多个第三方服务,从多个域名获取数据。以下两种情况都值得注意:

  • 某些接口做了更新没有及时推送通知,该接口的调用就会失败;
  • 服务不够稳定,接口的返回某一时段特别慢;
  • 某些终端用户的数据不符合导致接口失败。

因此产品上线以后,对接口的调用进行监控是很有必要的。

接入监控

Fundebug 的微信小程序错误监控插件支持监控 HTTP 请求错误:

  • 当请求返回的 statusCode 不是 2xx 或者 fail 回调函数被触发的时候,Fundebug 的小程序监控插件会捕获该错误并发送到服务器。
  • 如果接口请求耗时过长,我们也可以配置httpTimeout来监控。

要使用 Fundebug 监控,你需要去Fundebug网站注册账号并创建一个微信小程序监控项目,然后按照提示接入插件。你需要下载微信小程序监控的 JS 脚本放入到自己的项目中,然后引入并通过fundebug.init()函数作必要的配置。

代码语言:txt
AI代码解释
复制
var fundebug = require("./utils/fundebug.1.3.1.min.js");
fundebug.init({
    apikey: "YOUR-API-KEY",
    monitorHttpData: true,
    httpTimeout: 2000,
    monitorMethodCall: true,
    monitorMethodArguments: true,
    setSystemInfo: true,
    setUserInfo: true,
    setLocation: true
});

插件默认会监控 HTTP 请求错误,并上报 Header 部分的信息,我们无需做配置。为了方便 Debug,我们配置monitorHttpData来记录 body 部分的信息;我们将httpTimeout设置为 2000 毫秒,超过该时长的请求会被上报到服务器。

Request:fail 错误

为了演示wx.request返回 request:fail 错误,我特意将utils/api.js中的HOST_URI改错。

var HOST_URI = 'https://www.w2ex.com/api/';

然后保存运行。Fundebug 收到上报的错误,该请求花了 7072 毫秒,然后返回请求失败。

通过用户行为可以更加清楚地了解整个小程序的运行过程:

404 错误

这次,我将获取最新话题的接口做点更改,故意将latest写出lastest

var LATEST_TOPIC = 'topics/lastest.json';

保存运行,Fundebug 捕获该错误并上报到服务器:

参数错误

获取某一个话题详情的时候,应该传入对应的 id。如果 id 是 null、undefined、或则本来是数字我们传入字符串,看看结果怎么样。

下图可知当我们将参数 id 设为undefined的情况下,接口返回 404。并返回消息:

代码语言:txt
AI代码解释
复制
{
    "message": "Object Not Found",
    "status": "error"
}

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有阳光保险、核桃编程、荔枝FM、掌门1对1、微脉、青团社等众多品牌企业。欢迎大家免费试用!

版权声明

转载时请注明作者 Fundebug以及本文地址:

https://blog.fundebug.com/2019/07/01/monitor-wx-request-fail/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
监控微信小程序中的慢HTTP请求
Fundebug 的微信小程序监控插件在 0.5.0 版本已经支持监控 HTTP 请求错误,在小程序中通过wx.request发起 HTTP 请求,如果请求失败,会被捕获并上报。时隔一年,微信小程序插件已经更新到 1.3.1, 而且提供了一个非常有用的功能,支持监控 HTTP 慢请求。对于轻量级的性能分析,可以说已经够用。
Fundebug
2019/06/27
1.6K0
监控微信小程序中的慢HTTP请求
Fundebug 微信小程序BUG 监控插件更新至 1.3.1,支持监控 HTTP 慢请求
摘要: 1.3.1新增 httpTimeout 配置选项,支持监控 HTTP 慢请求,同时修复了记录的 HTTP 响应时间偏小的 BUG。
Fundebug
2019/06/13
5800
Fundebug 微信小程序BUG 监控插件更新至 1.3.1,支持监控 HTTP 慢请求
Fundebug微信小程序错误监控插件更新至1.1.0,新增test()与notifyHttpError()方法
摘要: 1.1.0新增fundebug.test()和fundebug.notifyHttpError()方法,同时大小压缩至15K。
Fundebug
2019/04/23
6000
Fundebug微信小程序错误监控插件更新至1.1.0,新增test()与notifyHttpError()方法
99%的程序都没有考虑的网络异常?使用Fundebug.notify()主动上报
于是,笔者分析了 GitHub 上的一些开源微信小程序,发现大多数的代码异常处理确实是不够的。
Fundebug
2019/07/08
4910
Fundebug支持监控微信小程序HTTP请求错误
摘要: Fundebug的微信小程序错误监控插件更新至0.5.0,支持监控HTTP请求错误。
Fundebug
2018/06/20
9520
Fundebug支持监控微信小程序HTTP请求错误
Fundebug 微信小程 BUG 监控插件更新至 1.2.1,优化错误上报次数的限制算法
摘要: 1.2.1优化错误上报次数的限制算法,新增silentHttpHeader配置选项,请大家及时更新哈!
Fundebug
2019/05/05
5850
Fundebug支持监控微信小游戏HTTP请求错误
摘要: Fundebug的微信小游戏错误监控插件更新至0.2.0,支持监控HTTP请求错误。
Fundebug
2020/01/02
7500
微信小程序wx.request重写
请求后台的时候,服务端对每一个请求都会验证权限,而前端也需要对服务器返回的特殊状态码统一处理,所以可以针对业务封装请求。
似水的流年
2020/02/11
1.8K0
微信小程序wx.request接口
wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求
达达前端
2022/04/29
1.3K0
微信小程序wx.request接口
Fundebug 微信小游戏异常监控插件更新至 0.5.0,支持监控 HTTP 慢请求
摘要: 支持监控 HTTP 慢请求,同时修复了记录的 HTTP 响应时间偏小的 BUG。
Fundebug
2019/08/06
5180
Fundebug 微信小游戏异常监控插件更新至 0.5.0,支持监控 HTTP 慢请求
Fundebug支付宝小程序BUG监控插件更新至0.2.0,新增test()方法,报错增加Page数据
摘要: 0.2.0新增fundebug.test()方法,同时报错增加了Page数据。
Fundebug
2019/04/26
5530
Fundebug支付宝小程序BUG监控插件更新至0.2.0,新增test()方法,报错增加Page数据
小程序的错误处理与容错机制
小程序的稳定性和用户体验往往依赖于错误处理与容错机制的设计。无论是网络请求失败、组件加载异常,还是用户输入错误,都可能影响小程序的正常运行。因此,在小程序开发过程中,建立有效的错误处理和容错机制是至关重要的。本篇文章将从错误分类、错误处理策略、容错机制的设计等方面,详细分析如何在小程序中实现高效的错误处理和容错。
LucianaiB
2025/01/28
4220
Fundebug后端Node.js插件更新至0.2.0,支持监控Express慢请求
Fundebug是专业的应用异常监控平台,我们Node.js插件fundebug-nodejs可以提供全方位的异常监控,支持Express、Koa以及Hapi框架。
Fundebug
2019/07/31
2.3K0
Fundebug后端Node.js插件更新至0.2.0,支持监控Express慢请求
微信小程序api
小程序开发框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等
全栈程序员站长
2022/09/13
2.4K0
小程序Request的封装
更新说明:对文章排版以及内容格式做了调整。 更新时间:2022-05-04 最近做了两个小程序,业务相对比较简单,关于公益方面的,收获颇多,其中感觉在开发中明显提升开发效率以及减少代码量的就是request的封装,下面稍稍做个总结。 通用封装 在utils文件夹下新建两个文件,config.js以及request.js,代码分别如下。 <!-- config.js--> module.exports = { appid: "wxcXXXXXXXXXXXXXX349f", API_B
六个周
2022/10/28
5700
QAPM小程序性能监控难点与解决方案
目前公司内外存在多个小程序的监控方案,包括微信提供的原生方案、Aegis、Fundebug和听云等,那么对比这些的监控方案,QAPM的小程序质量套件有什么不同呢?
010101011001
2021/02/10
1.9K0
微信小程序如何调用API实现数据请求-wx.request()
查看官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/
达达前端
2019/07/03
3.4K0
微信小程序如何调用API实现数据请求-wx.request()
用Fundebug插件记录网络请求异常
在服务端,不管我们使用Node.js、Java、PHP还是Python等等,都会用日志以文本的形式记录请求以及报错信息。这个对于后端做事后分析是很有用的。
Fundebug
2018/05/25
1.7K2
用Fundebug插件记录网络请求异常
三周学会小程序第五讲:登录的原理和实现
前面我们耗费在环境搭建上面已经很多时间,这一讲开始真正的和小程序功能对接。 登录便是小程序的开始,小程序可以方便的使用微信登录,获取用户的个人信息,这样我们就能保留用户的信息和记录用户的操作。我们直接通过一张图进入正题。如图是小程序官方给出的登录过程:
用户1093975
2018/12/19
7770
微信小程序Ⅵ [wx.request 的回调使用]
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/79585208
泥豆芽儿 MT
2018/09/11
10.2K0
微信小程序Ⅵ [wx.request 的回调使用]
推荐阅读
相关推荐
监控微信小程序中的慢HTTP请求
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档