最近模板兔在给客户开发chatgpt相关功能,遇到一个问题就是在输出[DONE]后我在js里却获取不到内容,百思不得其解呀,这个问题困扰了许久。后来才发现,虽然输出done是表示接口获取完成了,但是在网页端由于是流加载,这边又是通过流加载时动态赋值,所以输出了[DONE]但是流加载还在继续,所以导致获取不到内容。
解决方法就是在流加载里判断是否加载完了(也就是打字特效是否打完了所有结果),然后再去获取整个内容。
下面是我问GPT后给出的回答,感觉对我没有任何意义,不知道对你们的开发是否有作用呢?
当ChatGPT输出[DONE]时,您可以调用一个回调函数来获取整个内容。
以下是一个示例代码:
function getChatGPTOutput(callback) {
// 调用ChatGPT API获取输出
// ...
// 当ChatGPT输出[DONE]时,调用回调函数并传递整个内容
if (output === "[DONE]") {
callback(fullOutput);
}
}
// 调用getChatGPTOutput函数,并传递一个回调函数
getChatGPTOutput(function(output) {
console.log(output); // 输出ChatGPT的整个内容
});
在上面的代码中,getChatGPTOutput函数接受一个回调函数作为参数。当ChatGPT输出[DONE]时,它会调用这个回调函数并传递整个内容。在调用getChatGPTOutput函数时,我们传递了一个匿名函数作为回调函数,它会将ChatGPT的整个内容输出到控制台。
0 个评论