簡體   English   中英

Node,Express 響應正文是 Readablestream 而不是 JSON

[英]Node,Express response body is Readablestream instead of JSON

使用 Express 創建一個 API 端點。 通常使用res.json()響應會在響應中發送 JSON object ,它可以在客戶端以相同的方式消費。

我在 API 中使用批處理的 promise,解決了承諾(我認為),然后發回了 object。

為什么 JSON object 在客戶端不可用 - 相反我在正文中收到了一個可讀流。

下面是助手 function 和響應,以及客戶端收到的內容。

const addCoinVolumeData = async (data) => {
  const promises = data.map(async datum => {
    const volumeData = await fetchCoinGeckoCoinVolume(datum.id);
    const volumeDelta = calculateCoinVolumeDelta(volumeData);
    datum.volume_change_24h = volumeDelta;
    return datum;
  });

  const result = await Promise.all(promises);
  return result;
}
  data = await addCoinVolumeData(data);
  res.json(data);
Response {type: 'basic', url: 'http://localhost:3001/aggregate-coin-data', redirected: false, status: 200, ok: true, …}
body: ReadableStream
bodyUsed: false
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: "OK"
type: "basic"

原來它實際上是 URL 用於獲取客戶端,因為調用'localhost ...'。 package.json 中的代理沒有解決太多。 更改了端口,並且由於某種原因起作用了-不知道為什么,因為沒有其他東西在上面運行(據報道)。 一切都很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM