![](/img/trans.png)
[英]How does GCP Cloud Function can execute or trigger it from ServiceNow?
[英]How to use navigator.sendBeacon() to execute a function?
我目前正在使用 Firestore 后端。 我想要實現的是在 window 關閉時更新 Firestore 上的文檔。 我知道我們可以使用Navigator.sendBeacon()
在 window 關閉時調用 API,因為它接收url
和data
(可選)作為其參數。 但是,我想改為執行 function,例如從 Firestore 中,有一個名為updateDoc
的 function。 有什么辦法可以做到這一點?
或者我可以使用其他方法嗎?
根據本文檔:
有一個 function
firebase.database.onDisconnect
。 onDisconnect class 允許您在客戶端與數據庫服務器斷開連接時寫入或清除數據。 無論您的客戶端是否完全斷開連接,這些更新都會發生,因此即使連接斷開或客戶端崩潰,您也可以依靠它們來清理數據。方法更新:
update ( values: Object, onComplete? : ( a: Error | null ) => any ): Promise < any >
當客戶端斷開連接時(由於關閉瀏覽器、導航到新頁面或網絡問題),在此位置寫入多個值。
values 參數包含多個屬性值對,它們將一起寫入數據庫。 每個子屬性可以是一個簡單的屬性(例如,“name”),也可以是從當前位置到要更新的數據的相對路徑(例如,“name/first”)。
與 set() 方法相反,update() 可用於有選擇地僅更新當前位置的引用屬性(而不是替換當前位置的所有子屬性)。
使用update()的連接版本查看更多示例。
var ref = firebase.database().ref("users/ada"); ref.update({ onlineState: true, status: "I'm online." }); ref.onDisconnect().update({ onlineState: false, status: "I'm offline." });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.