第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 GraphQL 發(fā)送持久數(shù)據(jù)結(jié)構(gòu)及其隨時(shí)間的變化?

如何使用 GraphQL 發(fā)送持久數(shù)據(jù)結(jié)構(gòu)及其隨時(shí)間的變化?

慕碼人2483693 2022-10-18 17:36:22
我有一個(gè)反復(fù)出現(xiàn)的問(wèn)題,我必須隨著時(shí)間的推移跟蹤數(shù)據(jù)結(jié)構(gòu)并通過(guò) GraphQL 傳遞它,例如,這可能是列表及其更改的時(shí)間線:[][1][1 2][-1 1 2][-1 2][2][]我正在尋找一個(gè)允許我描述此數(shù)據(jù)結(jié)構(gòu)及其更改并自動(dòng)找到正確的 graphql 表示以僅發(fā)布差異的庫(kù)?例如,它將上述結(jié)構(gòu)分解為:start emptyadd 1add 2insert -1 in the beginningetc.在 GraphQL 術(shù)語(yǔ)中。以前有人解決過(guò)這個(gè)問(wèn)題嗎?理想情況下是 ReasonML(前端)和 Python(后端),但要尋找任何示例。
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

您可以使用 graphql 訂閱(有關(guān)詳細(xì)信息,請(qǐng)參閱 apollo 文檔)。

在開始查詢當(dāng)前狀態(tài)。雙方(服務(wù)器和客戶端)將擁有相同的數(shù)據(jù)。兩者都可以使用相同的庫(kù),feimmutable.js

客戶端調(diào)用訂閱,開始監(jiān)聽“onListChange”消息。

在服務(wù)器 insertElement, 上removeElement,updateElement解析器也在做同樣的事情:

  • 處理后端狀態(tài)的突變;

  • insert將(或remove)編碼updateactionType和所需的數(shù)據(jù)(突變參數(shù)、新創(chuàng)建的 id、版本號(hào))為payload

  • 使用發(fā)布將此('onListChange')消息發(fā)送給訂閱者。

客戶

  • 收到一條消息;

  • 解碼消息并更新/改變自己的狀態(tài)(處理與服務(wù)器上相同的突變);

  • 更新本地版本號(hào)。

結(jié)果客戶端應(yīng)該具有相同的狀態(tài)。

客戶端可以檢測(cè)丟失的消息(與本地版本指示器相比,在有效負(fù)載中傳遞的版本號(hào))并強(qiáng)制 [re-] 查詢當(dāng)前(整個(gè))狀態(tài)。

更新

如果服務(wù)器端發(fā)生變化:

  • 不受突變驅(qū)動(dòng)(其他應(yīng)用程序在同一個(gè)數(shù)據(jù)庫(kù)上運(yùn)行);

  • 不是變化流,而只是新狀態(tài)(新狀態(tài)剛剛到達(dá)/從外部源讀?。?;

... - 您沒(méi)有機(jī)會(huì)將邏輯注入應(yīng)用更改的流程中 - 您應(yīng)該有一個(gè)正在運(yùn)行的監(jiān)控流程

  • 檢測(cè)狀態(tài)變化;

  • 將狀態(tài)差異轉(zhuǎn)換為“補(bǔ)丁”集(fe 使用jiff);

  • 將補(bǔ)丁作為消息發(fā)布給訂閱者。

客戶端將補(bǔ)丁(消息是一個(gè)流)解碼為本地狀態(tài)的突變(與服務(wù)器狀態(tài)同步)。如上所述 - 如果版本匹配或重新查詢整個(gè)狀態(tài),則應(yīng)用更改。

Graphql 只是一個(gè)通信通道(查詢、消息)——它沒(méi)有任何東西可以處理此任務(wù)所需的進(jìn)程(以及雙方的數(shù)據(jù))。


查看完整回答
反對(duì) 回復(fù) 2022-10-18
  • 1 回答
  • 0 關(guān)注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)