Maison  >  Questions et réponses  >  le corps du texte

javascript - Que dois-je faire si le temps de retour de l'interface est incohérent lors de l'utilisation de contrôles tels que _.debounce pour retarder les appels Ajax?

L'événement onChange dans l'entrée de React est lié à une méthode handleOnchange. Après l'appel de cette méthode, l'appel ajax est retardé si l'utilisateur entre "Glory of the King", en raison de problèmes de vitesse de frappe, deux requêtes pour "King of Glory". " et "King of Glory" peuvent être envoyés à la fin. "Glory of the King". .

À l'heure actuelle, la première requête "King of Glory" prend plus de temps à renvoyer que la deuxième requête "King of Glory". Ensuite, le résultat final du rendu est que l'utilisateur voit que la zone de saisie est "King of Glory", mais le résultat du rendu final est que l'utilisateur voit que la zone de saisie est "King of Glory". le résultat est "King of Glory". Le résultat est couvert.

Existe-t-il une solution technique pour éviter cette situation ?

漂亮男人漂亮男人2684 Il y a quelques jours1120

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-07-05 10:49:21

    1. Utilisez ajax synchrone (escape)
    2. Le résultat renvoyé par l'arrière-plan porte le mot-clé demandé et le compare à la valeur d'entrée actuelle
    3. Maintenez globalement un identifiant à incrémentation automatique, apportez-le à chaque requête et ajoutez-le. dans le champ renvoyé par la requête. Renvoyez cet identifiant si l'identifiant renvoyé est cohérent avec l'identifiant de la page actuelle, utilisez les données, sinon supprimez-le

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

    En résumé, l'option 3 est la plus polyvalente. S'il y a plusieurs conditions de requête de formulaire sur la page, l'option 2 sera très pénible.

    répondre
    0
  • Annulerrépondre