新聞中心
高級連接
我們在適合大多數(shù)情況的標準連接中為您管理全局 WebSocket 連接。 但是,在某些情況下,您有多個 LiveQuery 服務器并希望連接到所有服務器,一個 WebSocket 連接是不夠的。 我們已經針對此類場景公開了 LiveQueryClient。

實時查詢客戶端
LiveQueryClient 是標準 WebSocket 客戶端的包裝器。 我們添加了幾種有用的方法來幫助您連接/斷開與 LiveQueryServer 的連接以及輕松訂閱/取消訂閱 MoralisQuery。
初始化
let Moralis = require('moralis');
let LiveQueryClient = Moralis.LiveQueryClient;
let client = new LiveQueryClient({
applicationId: '',
serverURL: '',
javascriptKey: '',
masterKey: ''
});
- ?
applicationId?(必填):它是您的 Moralis dapp 的 applicationId。 - ?
serverURL?(必填):它是 LiveQuery 服務器的 URL。 - ?
javascriptKey? - ?
masterKey?
?javascriptKey ?和 ?masterKey ?用于在 LiveQueryClient 嘗試連接到 LiveQuery 服務器時對其進行驗證。 如果您設置它們,它們應該與您的 Moralis 應用程序相匹配。 您可以在此處查看 LiveQuery 協(xié)議以獲取更多詳細信息。
打開
client.open();
在您調用它之后,LiveQueryClient 將嘗試向 LiveQuery 服務器發(fā)送連接請求。
訂閱
let query = new Moralis.Query('Game');
let subscription = client.subscribe(query, sessionToken);
- ?
query?(必需):這是您要訂閱的 MoralisQuery。 - ?
sessionToken?:如果您提供 sessionToken,LiveQuery 服務器只會向 sessionToken 適合 MoralisObjects ACL 的客戶端發(fā)送更新。 您可以在此處查看 LiveQuery 協(xié)議以獲取更多詳細信息。
退訂
client.unsubscribe(subscription);
- ?
subscription?(必需):這是您要取消訂閱的訂閱。調用此方法后,您將不會從訂閱對象中獲得任何事件。
關閉
client.close();
此函數(shù)將關閉與此 LiveQueryClient 的 WebSocket 連接,取消自動重新連接,并取消訂閱所有基于它的訂閱。
事件處理
我們公開了三個事件來幫助您監(jiān)控 LiveQueryClient 的狀態(tài)。
打開事件
client.on('open', () => {
console.log('connection opened');
});
當我們與 LiveQuery 服務器建立 WebSocket 連接時,您將收到此事件。
關閉事件
client.on('close', () => {
console.log('connection closed');
});
當我們失去與 LiveQuery 服務器的 WebSocket 連接時,您將收到此事件。
錯誤事件
client.on('error', (error) => {
console.log('connection error');
});
當發(fā)生網絡錯誤或 LiveQuery 服務器錯誤時,您將收到此事件。
重新連接
由于整個 LiveQuery 功能依賴于與 LiveQuery 服務器的 WebSocket 連接,因此我們總是嘗試保持打開的 WebSocket 連接。
因此,當與 LiveQuery 服務器的連接丟失時,我們會嘗試自動重新連接。 我們在引擎蓋下做指數(shù)回退。
但是,如果 WebSocket 連接由于 ?Moralis.LiveQuery.close()? 或 ?client.close()? 而關閉,我們將取消自動重新連接。
SessionToken
當您訂閱 MoralisQuery 時,我們會將 sessionToken 發(fā)送到 LiveQuery 服務器。 對于標準 API,我們默認使用當前用戶的 sessionToken。 對于高級 API,您可以在訂閱 MoralisQuery 時使用任何 sessionToken。 需要注意的重要一點是,當您注銷或您使用的 sessionToken 無效時,您應該取消訂閱并重新訂閱 MoralisQuery。 否則,您可能會遇到安全問題,因為您會收到不應該發(fā)送給您的事件。
文章名稱:創(chuàng)新互聯(lián)Moralis教程:Moralis高級實時查詢
標題URL:http://m.fisionsoft.com.cn/article/dhgjgig.html


咨詢
建站咨詢
