您当前的代码示例中,fetch
函数返回的是一个 Promise 对象,这个对象代表了一次网络请求。当这个请求完成时,它的 then
方法会被调用,并且传入一个处理函数。然而,您的处理函数中的 data
实际上是 Response 对象,而不是请求的结果。要获取请求的结果,您需要对 Response 对象调用 .json()
方法。
以下是修改后的代码:
import fetch from "node-fetch";
fetch("https://api.openai-sb.com/v1/moderations", {
method: "POST",
headers: {
Authorization: "Bearer ***********",
"Content-Type": "application/json",
},
body: JSON.stringify({ input: "树上有九只鸟,开枪打死一只,请问树上还剩几只鸟?" }),
}).then(response => {
return response.json(); // 将 Response 对象转换为 JSON
}).then(data => {
console.log(data); // 现在 data 是请求的 JSON 结果
}).catch(error => {
console.error('Error:', error); // 捕获并处理任何错误
});
在这个修改后的代码中,我们首先调用 .json()
方法将 Response 对象转换为 JSON 格式的数据,然后我们在第二个 then
方法中处理这个数据。同时,我们也添加了一个 catch
方法来捕获并处理可能出现的任何错误。
注意:在实际使用时,请确保将 "Bearer ***********"
替换为您的实际 API 密钥,并确保该密钥具有足够的权限来访问您想要请求的接口。