Skip to content

在uniapp中调用abort()不能成功停止对话,希望给一个兼容小程序能中止流式接口方法或者接口。 #4360

@isyinzhi

Description

@isyinzhi

例行检查

  • 我已确认目前没有类似 issue
  • 我已完整查看过项目 README,以及项目文档
  • 我使用了自己的 key,并确认我的 key 是可正常使用的
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

你的版本

  • 私有部署版本, 具体版本号: 4.8.12

问题描述, 日志截图,配置文件等

在uniapp环境下调用api/v1/chat/completions这个接口,用的是:detail=true,stream=true 响应方式。在流式输出的过程中我想中止时调用了abort()方法去中止,发现并不能成功的中止接口请求。后面也查了资料说的是浏览器原生 XMLHttpRequest 或 Fetch API,abort() 会直接断开 TCP 连接,强制终止请求。UniApp小程序使用uni.request在小程序中映射为微信的 wx.request,其 abort() 是逻辑层的中断,而非物理层断开连接。小程序底层可能仍会接收已发出的数据包,导致“中断不彻底”。所以可能就存在这样的兼容问题。微信小程序基础库版本为:3.7.11.

复现步骤

在微信小程序环境下调用api/v1/chat/completions接口,使用abort()去中止即可复现。

预期结果

希望多个中止的接口或者能兼容小程序中止流式接口返回的方案。主要是小程序方面的不能直接断开TCP连接的问题。

相关截图

Image

Image

Image

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions