收藏
回答

wx.request发送请求流数据时,会出现不触发success、fail、complete

框架类型 问题类型 操作系统 工具版本
小程序 Bug macOS 1.06.2412050

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();

};

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    02-18

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    02-18
    有用
    回复
  • 林灬HJ
    林灬HJ
    02-19

    一样出现这个问题,在真机上正常,模拟器中从某个页面跳转至流式请求的页面执行请求就会出现不触发回调,同时控制台出现[memory-leak] triggerOnEvent called on a deprecated instance

    02-19
    有用 2
    回复 3
    • 石头
      石头
      02-19
      遇到同样问题,当请求enableChunked:true时候,请求后端返回sse流,触发不了回调。真机调试正常,微信开发者工具数据能返回,但是不能触发回调,控制台出现[memory-leak] triggerOnEvent called on a deprecated instance
      02-19
      回复
    • 崔亚杰
      崔亚杰
      03-03
      请问这个问题解决了么?目前我也遇到了。
      03-03
      回复
    • 林灬HJ
      林灬HJ
      03-17回复崔亚杰
      开发者工具回退版本到尾数140版本
      03-17
      2
      回复
登录 后发表内容