différences Promise et callbacks

différences Promise et callbacks - Javascript/Node.js - Programmation

Marsh Posté le 07-12-2018 à 09:09:57    

Bonjour,
 
je pensais avoir compris la différence entre Promise et callbacks , mais manifestement la différence est plus subtile que ce que je croyais (jai lu 2/3 articles la dessus mais ca reste flou).
 
par ex, dans un site web, je voulais utiliser une promise pour enchainer 2  animations (la 2eme anim ne se lance qu'après la fin de la première, etc..), mais problème: la première ne s'affiche pas, et juste la 2eme est visible.
 
Par contre, ca fonctionne très bien avec des callbaks imbriqués, donc je me dis que les promises ne sont pas utiles dans ce cas ci (c'est du synchrone si je ne m'abuse).
 
Attention les yeux:  :whistle:  

Code :
  1. export const animeAstronaut = $ => {
  2.   $(".intro__bubble-small" ).fadeIn(500, function() {
  3.     $(".intro__bubble-medium" ).fadeIn(500, function() {
  4.       $(".intro__text2" )
  5.         .addClass("introFirstText" )
  6.         .html("<p>First text</p>" )
  7.         .fadeIn(1000)
  8.         .fadeOut(1000, function() {
  9.           $(this)
  10.             .removeClass("introFirstText" )
  11.             .addClass("introSecondText" )
  12.             .html(
  13.               "<p>2eme texte</strong></p>"
  14.             );
  15.         })
  16.         .fadeIn(1000);
  17.     });
  18.   });
  19. };


 
 
Du coup, si je comprends bien, les promises ne sont réélement utiles que dans le cas par ex, d'une demande de données à un service  web: on ne sait pas quand les données vont arrivées (asyncrhone), et on utilise des promises pour gérer plus simplement
l'appel et réception des réponses du server.


Message édité par tompouss le 07-12-2018 à 09:11:47

---------------
collectionneur de pâtes thermiques
Reply

Marsh Posté le 07-12-2018 à 09:09:57   

Reply

Marsh Posté le 07-12-2018 à 10:59:06    

Non normalement ça devrait fonctionner aussi avec une promise.  
Tu peux montrer ton code qui ne fonctionnait pas ?  
 
Merci :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed