【问题标题】:Two-way sync of text-field with server - fast typing文本字段与服务器的双向同步 - 快速输入
【发布时间】:2020-11-13 07:34:03
【问题描述】:

我正在使用 graphql 突变和订阅来与服务器双向同步输入:当用户输入数据时,每次按键都会触发突变,并且当服务器上的数据发生变化时,输入会更新。因此,当 keyup 发生时,更改的文本被发送到服务器并在那里更新,并且由于订阅,服务器上现在更改的数据被发送到文本字段(这是不必要的,因为它们都包含相同的数据)

现在,当用户快速键入并输入时,假设几乎同时输入一个a,然后是一个ba 然后立即将b 发送到服务器,这导致服务器最后只有b;因此,服务器会按预期更新客户端,其中它也只包含 b 而不是 ab

是否有一种简单的机制/已经存在的算法可以防止这种情况发生?

【问题讨论】:

    标签: graphql subscription


    【解决方案1】:

    根据您对到达服务器的值的描述,您的客户端输入可能存在反跳机制。假设立即从服务器发回值是一种期望的行为,我建议您发送整个输入值字符串,这样您就可以发送ab,而不是只发送a 然后b 您必须在每个新请求上覆盖整个服务器值,但它应该可以工作

    【讨论】:

      猜你喜欢
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 2023-04-10
      • 2022-10-07
      相关资源
      最近更新 更多