Bonjour,
Je ne comprends pas pourquoi dans mon code partie CALLBACK la valeur "resolved !" s'affiche avant le "End", étrange !
Par contre, je trouve logique que la partie PROMISE affiche "resolved !" avant le "End".
Pouvez-vous m'expliquer ?
Voici mon code en deux parties la première est la partie CALLBACK et la seconde PROMISE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 //----------------- Start: CALLBACK ------------------------------------ console.log('------------ CALLBACK -------------------') console.log('Start') getMember((member) => { console.log(member) }) function getMember(next) { console.log('calling'); // setTimeout(() => { next('resolved !') }, 1500) for (let index = 0; index < 1000000000; index++) { } next('resolved !') } console.log('End') // // RETURN: // ------ // Start // calling // resolved ! // End //----------------- End: CALLBACK --------------------------------------Merci d'avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 //----------------- Start: PROMISE ------------------------------------- console.log('------------ PROMISE -------------------') console.log('Start') new Promise((resolve, reject) => { console.log('calling') // setTimeout(() => { resolve('resolved !'), reject(new Error('error during...')) }, 1500) for (let index = 0; index < 1000000000; index++) { } resolve('resolved !'); }) .then(message => console.log(message)) .catch(err => console.log(err.message)) console.log('End') // // RETURN: // ------ // Start // calling // End // resolved ! //----------------- End: PROMISE ---------------------------------------
Yves
Partager