[英]Meteor, how to update collection with optimistic UI
我認為重要的是拒絕客戶端插入/更新。 完成后,您可以從客戶端運行第二層代碼,它實際上不會做任何事情,因為它將被拒絕。
以下是https://www.discovermeteor.com/blog/meteor-pattern-two-tiered-methods/中支持該觀點的幾段:
客戶端服務器
雖然我說過 postSubmit 函數主要希望在服務器上運行,但它會在兩種情況下在客戶端上運行。
首先,當作為該方法的客戶端模擬的一部分從 postSubmit 方法調用時。 在這種情況下,Meteor 將執行模擬,將 post 插入客戶端數據庫,然后最終觸發服務器端 postSubmit 方法調用。
另一個用例是有人直接從瀏覽器控制台調用 postSubmit 函數。 如果發生這種情況, Posts.insert() 調用將失敗,因為我們不允許客戶端插入,並且什么也不會發生。
請注意,允許/拒絕不會影響從 Meteor 方法中執行的代碼,這就是為什么即使您沒有聲明允許/拒絕策略,模擬也不會失敗。
因此,換句話說,回答 #1:將方法放在一個公共位置並刪除不安全的包(流星刪除不安全)
對#2 的回答:在方法之外調用它們並不重要,因為它們會被拒絕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.