Intermédiaire
Soit les 2 fonctions suivantes getMovie et run :
const Qajax = require('qajax'); // Librairie basée sur Q, permettant de faire des promesses en HTTP
// Retourne une promesse HTTP sur l'url en paramètre
function getMovie(url) {
return Qajax.getJSON(url);
}
// Démarre le générateur en paramètre et récupère une promesse
function run(generator) {
var iterator = generator();
function go(result) {
result.value.then(function(value) {
go(iterator.next(value))
});
}
go(iterator.next());
}
Que va t-il se passer lorsque le code suivant sera appelé :
run(function *() {
let mov1 = yield getMovie('https://api.myjson.com/bins/3hn4g'); // {id:1, title:'Back to the future'}
let mov2 = yield getMovie('https://api.myjson.com/bins/1gro0'); // {id:2, title:'Matrix'}
let mov3 = yield getMovie('https://api.myjson.com/bins/53igg'); // {id:3, title:'Star Wars'}
console.log(mov1.id, mov1.title);
console.log(mov2.id, mov2.title);
console.log(mov3.id, mov3.title);
});
Auteur: Jean-marie CléryStatut : PubliéeQuestion passée 917 fois
Modifier
2
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !
4
Laquelle de ces 4 solutions pour servir un fichier très volumineux sera la plus optimisée en termes de _ressources serveur_ et de _vitesse de chargement pour le client_?3
Écrire une fonction génératrice en NodeJS qui génère les nombres de 0 à l'infini.3
Quel est l'intrus dans la liste suivante : npm, yeoman, webpack, babel3
Écrire un serveur NodeJS qui retourne un message différent en fonction de la route.7
Analyser une chaîne de requête en un objet en NodeJS10
Comment définir une variable globale avec Node.js?3
Comment obtenir le résultat de 3 fonctions asynchrones en NodeJS