javascript - _.debounce などのコントロールを使用して Ajax 呼び出しを遅延させるときに、インターフェイスの戻り時間が一貫していない場合はどうすればよいですか?
漂亮男人
漂亮男人 2017-07-05 10:47:21
0
1
1157

反応の入力の onChange イベントは、handleOnchange メソッドにバインドされています。このメソッドが呼び出された後、ajax 呼び出しは遅延します。ユーザーが「王の栄光」と入力すると、入力速度の問題により、「王」に対する 2 つのリクエストが発生します。栄光の」、「王の栄光」が最終的に送られる可能性があります。 。

現時点では、最初の「King of Glory」リクエストは、2 番目の「King of Glory」リクエストよりも返されるまでに時間がかかります。最終的に表示される結果では、ユーザーには入力ボックスが「King of Glory」であることがわかりますが、結果は「キング・オブ・グローリー」「結果は網羅されています。

この状況を回避する技術的な解決策はありますか?

漂亮男人
漂亮男人

全員に返信(1)
ringa_lee

1. 同期 ajax (エスケープ) を使用します。
2. バックグラウンドによって返される結果には、要求されたキーワードが含まれており、それを現在の入力値と比較します。
3. 自動インクリメント ID をグローバルに維持し、それを各リクエストに追加します。リクエストによって返されたフィールドにこの ID を返します。返された ID が現在のページの ID と一致する場合はそのデータを使用し、それ以外の場合は破棄します

リーリー

要約すると、ページに複数のフォーム クエリ条件がある場合は、オプション 3 が最も多用途です。オプション 2 は非常に困難です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート