labring / labring/FastGPT

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

Open
#4,360 2 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
TypeScript
Stars
29.6k
Forks
7.3k
Avg merge
1d 7h
Merged PRs (30d)
152

Description

**例行检查**

[//]: # '方框内填 x 表示打钩'

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

**你的版本**

- [x] 私有部署版本, 具体版本号: 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](https://github.com/user-attachments/assets/a4417061-44cd-4464-8774-996893531c49)

![Image](https://github.com/user-attachments/assets/f0743c0b-70f4-4f30-849c-6070e934a23e)

![Image](https://github.com/user-attachments/assets/04324412-9619-4601-b480-c0d8def2c629)

![Image](https://github.com/user-attachments/assets/ad66d1e8-0397-498d-8420-b87c0c65f0f2)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.