Olivier Lange

Artisan-développeur et entrepreneur. Bases de données en graphes, archives digitales, migration de données. Intéressé par la mémoire, les cartes de pensée, le dessin, le théâtre.

  • « We have a problem with Promises » par Nolan Lawson, 18.05.2015
    https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html

    Quoiqu’il date, l’article est encore une lecture utile. Dans nos rencontres Gōng-fu I/O, je le cite à l’occasion, en rappelant qu’avec les Promise en JS, il faut essentiellement se souvenir de ces deux règles :

    1. les clauses .then() et .catch() prennent une fonction comme argument ; rien d’autre (cf. section « Advanced mistake #5 : promises fall through ») ;
    2. les fonctions qu’on passe à ces clauses .then() et .catch() (ou à la forme new Promise(…,…)) ne peuvent/doivent faire que ces trois choses-ci :

    a. retourner une nouvelle Promise ;
    b. retourner une valeur scalaire (primitive ou objet JS) ;
    c. soulever une exception avec throw.

    Une grande part des problèmes avec les Promise sont réglés en pratique par la vérification de ces deux règles.

    #javascript #programming #promises