2015-10-16 97 views
0

在我的node.js服務器應用程序中,我向我的js客戶端提供了一項服務,該服務執行一些遠程api的處理。node.js內置支持處理相同數據的請求

兩個不同的客戶端可能會請求相同的信息。假設客戶端1請求信息,然後在完全處理客戶端1的請求之前(遠程API還沒有返回他們的響應),客戶端2請求相同的數據。我想要的是等待客戶端1數據準備就緒,然後將其寫入客戶端1和2.

在我看來,這是一個非常常見的問題,我想知道是否有任何庫或內置支持連接或表達支持這個問題。

+0

對我來說看起來並不是一個常見問題。其實很奇怪的行爲,我會說。 – aschmid00

回答

1

您可能不想使用HTTP將數據提供給客戶端。原因:

  1. 如果遠程API是服用大量的時間來處理你將風險客戶端請求超時,或者重複請求的瀏覽器。

  2. 你將不得不在一個請求之間分享一些狀態,這是不好的做法。

看一看websocketssocket.io是開始的地方)。藉助它們,您可以將數據從服務器推送到客戶端。在您的方案中,客戶端將執行對服務器的請求,服務器將返回202,當遠程API響應時,服務器將使用websockets將數據推送到客戶端。