suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Was soll ich tun, wenn die Rückgabezeit der Schnittstelle inkonsistent ist, wenn Steuerelemente wie _.debounce zum Verzögern von Ajax-Aufrufen verwendet werden?

Das onChange-Ereignis in der Eingabe von „react“ ist an eine handleOnchange-Methode gebunden. Wenn der Benutzer „Glory of the King“ eingibt, werden zwei Anfragen für „King of Glory“ verzögert „ und „King of Glory“ können am Ende gesendet werden. „Glory of the King“. .

Zu diesem Zeitpunkt dauert die Rückgabe der ersten „King of Glory“-Anfrage länger als die der zweiten „King of Glory“-Anfrage. Das endgültige Rendering-Ergebnis ist dann, dass der Benutzer sieht, dass das Eingabefeld „King of Glory“ ist, aber das Das Ergebnis ist „King of Glory“.

Gibt es eine technische Lösung, um diese Situation zu vermeiden?

漂亮男人漂亮男人2701 Tage vor1140

Antworte allen(1)Ich werde antworten

  • ringa_lee

    ringa_lee2017-07-05 10:49:21

    1、使用同步 ajax (逃
    2、后台返回的结果带上请求的keyword,和当前 input 的值做比较
    3、全局维护一个自增 id,每个请求带上,请求返回的字段里再返回这个 id,如果这个返回 id 和当前页面的 id 一致,使用数据,否则丢掉

    $.getJSON('xxx.json?id=1') 
    返回数据里  {id:1,data: {...}}

    综上所述,方案 3 最通用,如果页面上有多个表单查询条件,方案 2 就很痛苦了。

    Antwort
    0
  • StornierenAntwort