簡體   English   中英

node.js-來自多個調用的流HTTP響應

[英]node.js - stream http response from multiple calls

在我的express應用程序中,我想多次調用API,並在收到響應時將每個響應流回客戶端,而不是等待所有響應。

例如,如果我同時請求在舊金山,伯克利和帕洛阿爾托的餐廳大吃大喝,那么我就不必等待所有響應返回並能夠在可用時進行流式處理。 我該怎么做?

由於瀏覽器要等到收到整個響應后才能將結果傳遞給javascript,因此這是不可能直接實現的。 另一方面,您可以使用websockets來實現。

可能的架構:

  1. 服務器 :與客戶端建立Websocket連接
  2. 服務器 :並行觸發對API的4個請求
  3. 服務器 :隨着每個連接上的數據到達,請使用諸如{api: "yelp", data: ... }類的方式將每個數據包傳遞到websocket
  4. 客戶端 :繼續將傳入數據追加到表示每個api響應的字符串中。
  5. 服務器 :建立連接后,發送完成消息{ api: "yepl", done: true }
  6. 客戶端 :收到已完成的消息后,您將收到該API的完整回復。

我高度懷疑這是一個好主意 它要復雜得多,最好使用來自客戶端的4個並行請求,或者在可能的情況下,直接從瀏覽器查詢api。

暫無
暫無

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

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