✅patchのリトライ時はlinesも更新する
patch()のリトライ時はlinesも更新する
現象
insert(), update(), delete(), patch()はpushに失敗するとpullして新しいcommit idをとってきてから再度pushする
commit ID不整合エラーならこれで問題ないのだが、行IDが見つからないというエラーの場合、patch()が必ず失敗するようになってしまう
commitIdと同様に、linesもserverに問い合わせて最新のものに差し替えれば解決する
commitIdだけの更新だと、何回リトライしても行IDの不整合が解決されないので、最終的に失敗してしまう
どうしたか
insert(), update(), delete()とはpush()処理を別にした
リトライ時にgetPage()を使って最新の行情報をserverから取得するようにした
このfetchも失敗した場合は例外を投げる
デメリット
コードが冗長になった
非効率なしょりがある
新旧のページの差分をとった後、その差分を適用して再びページに戻している
無駄じゃんtakker.icon
この処理でほしいのは行IDだけ
文字列配列に行IDを新規作成して付与する処理を作れば解決しそう
一旦腰を据えてきれいにしないとだめそうtakker.icon