From a0f3137719dc7e77f3e4ecc80f4cf28bba237612 Mon Sep 17 00:00:00 2001 From: Rudy Celekli Date: Tue, 29 Sep 2026 20:55:06 -0400 Subject: [PATCH] Reject empty WeChat HTTP errors without leaving requests pending --- engineering/engineering-wechat-mini-program-developer.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engineering/engineering-wechat-mini-program-developer.md b/engineering/engineering-wechat-mini-program-developer.md index e4e80463..0d21265a 100644 --- a/engineering/engineering-wechat-mini-program-developer.md +++ b/engineering/engineering-wechat-mini-program-developer.md @@ -106,7 +106,12 @@ const request = (options) => { if (res.statusCode >= 200 && res.statusCode < 300) { resolve(res.data); } else { - reject({ code: res.statusCode, message: res.data.message || 'Request failed' }); + // Error bodies may be empty, plain text, or a gateway HTML page. + // Do not throw inside the success callback and leave the Promise pending. + const message = res.data && typeof res.data === 'object' && + typeof res.data.message === 'string' && res.data.message + ? res.data.message : 'Request failed'; + reject({ code: res.statusCode, message }); } }, fail: (err) => {