因此,我們假設我想製作一個twitter bot。我想向發送回覆的人發送一個特定的消息,所以我需要爲它發一個事件。顯然,一種方法是在一定的時間間隔內獲得所有回覆(或最後n個回覆),找出哪些是新的等等;但首先它不是實時的,並且需要額外的查詢才能找到新的推文。如何跟蹤和處理節點中的事件
假設我們想跟蹤網站的一些變化。例如,我們想要在發生變化時立即處理事件。
我以前socket.io
處理一些其他類型的活動,就像當一些變化的特定端口發生,但我無法弄清楚我該怎麼處理這些類型的事件。
因此,我們假設我想製作一個twitter bot。我想向發送回覆的人發送一個特定的消息,所以我需要爲它發一個事件。顯然,一種方法是在一定的時間間隔內獲得所有回覆(或最後n個回覆),找出哪些是新的等等;但首先它不是實時的,並且需要額外的查詢才能找到新的推文。如何跟蹤和處理節點中的事件
假設我們想跟蹤網站的一些變化。例如,我們想要在發生變化時立即處理事件。
我以前socket.io
處理一些其他類型的活動,就像當一些變化的特定端口發生,但我無法弄清楚我該怎麼處理這些類型的事件。
「事件」一詞並不意味着你的想法!
events.EventEmitter
根據最後的定義,對於如何「跟蹤事件」,根本沒有單一的答案。
如果您想要編寫可以響應更改的代碼(這只是「對輸入做出反應」的更具體的版本),您需要創建一種機制來識別發生了更改,然後是機制觸發你想要在響應中運行的任何代碼(最後一部分是你通常會調用「發射」一個「事件」)。
對於某些情況,SocketIO完成了這兩件事情,使用協議的優化降級以明確地發出您可以監聽和處理的本地事件。它開始嘗試使用WebSockets,並最終回退到更昂貴的技術,如polling。
只有當信息或更改的來源決定支持協議時,SocketIO才起作用。在這些情況下,源實際上是發送事件(通過websockets)並且socketIO監聽它。
如果您正在查找的信息源不支持websockets(並且未編碼以明確通知您的服務器發生更改),那麼您將不得不提出自己的解決方案。但是:您不應該將此視爲跟蹤「事件」的一種情況。相反,你正在觀察變化。
你如何看待變化將取決於變化的性質。一般你會爲它probably have to poll。
這是關於如何知道Twitter何時發生特定更改的問題? – jfriend00
@ jfriend00我沒有特別詢問Twitter,但是這是我的第一個問題 – Yar
好吧,如果您想主動通知某個其他網站的更改而不進行輪詢(例如,每隔xx秒重讀一遍),那麼你必須使用該網站的API,任何答案都將完全針對該API。所以,我無法確切地告訴你在問你是否沒有專門詢問Twitter。 – jfriend00