wx.request发送请求流数据时,会出现不触发success、fail、complete
https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html 在未执行onStopRequestTask停止监听流数据函数前,请求是正常能触发wx.request的success/fail/compile回调, 在某个时机执行了onStopRequestTask后,再次发送请求时就不触发wx.request的success/fail/compile回调, 尝试了开发版 1.06.2502142 和 最新稳定版 1.06.2412050,降到1.06.2402040版本则正常触发,其他版本没有测试 const setChat = async (request) => { const listener = (res) => { const arrayBuffer = res.data; const uint8Array = new Uint8Array(arrayBuffer); let text = new TextEncoding.TextDecoder('utf-8').decode(uint8Array); const str = text.split('data:'); str.forEach((item) => { if (item) { // 映射处理事件类型 const handler = handlers[request.data.modelType]; try { handler(JSON.parse(item)); // 执行处理事件 } catch (e) {} } }); }; requestTask.value = uni.request({ ...request, complete: () => { // 请求完成,停止监听并再计算一次滚动高度 requestTask.value.offChunkReceived(); emit('update:outputing', false); setTimeout(() => { nextTick(() => { onScrollBottom(); // 推进评价 if (list.value[list.value.length - 1].needEvaluate) onPushRecommend(); }); }, 500); } }); // 这里监听消息 requestTask.value.onChunkReceived(listener); }; // 停止监听流数据 const onStopRequestTask = () => { // 停止监听 requestTask.value.offChunkReceived(); // 取消请求 requestTask.value.abort(); };