0
我想實現一個Web服務器處理大型查詢。單個請求的響應是巨大的。因此,我不想一次性發送大量回復,而是希望將其分成許多部分,然後單獨發送。比如我有一個數組元素,而不是發送一個包含整個數組的響應,我想發送的響應只包含單個元素。Golang一個請求多個響應
我在這裏有什麼選擇? Ajax似乎無法處理這種工作。我必須使用socket,websocket嗎?流式響應怎麼樣?
我正在使用golang + angular,推薦使用任何庫或資源?
你必須繼續提出請求。一個網絡服務器不能只是發送數據給客戶端,除非你有像一個不斷開放的websocket這樣的東西。我會說,你想要實現的是pagenation。在請求中,添加偏移量和限制的查詢參數。讓客戶端迭代地發出請求,直到沒有數據剩餘爲止,按每個請求的限制增加偏移量。後端應該總是返回一個數組,當給定偏移量處沒有數據時,數組應該是空的,通知客戶端它已完成對數據的分頁。 – evanmcdonnal
您也可以使用返回數組的長度來知道何時完成。如果長度<限制,那麼你知道你得到了其餘的結果,你可以停止提出請求。 – evanmcdonnal
是的,分頁是要走的路,否則在數據準備就緒的時候使用websockets並播放到房間。如果你想使用套接字,那麼看看socket.io。在套接字上分頁似乎也是一種選擇,因爲您可以簡單地使用虛擬獲取和發佈請求,而不是實際的東西。 – ishaan