Appliquez la notion

Vous êtes chargé de mettre en place une fonction demandant confirmation de l'âge d'un utilisateur, avant que celui-ci puisse ou non continuer sa navigation.

Question

Vous disposez du code suivant : complétez la fonction redirectUser() qui devra retourner une nouvelle promesse. Au sein de cette promesse, on fera appel à la fonction askAge().

Si le résultat de celle-ci est supérieur ou égal à 18, alors la promesse sera résolue, sinon elle sera rejetée.

1
function askAge() {
2
  return prompt('Quel âge avez-vous ?')
3
}   
4
5
function success() {
6
  console.log('Vous êtes majeur, vous pouvez continuer votre navigation')
7
}
8
9
function error() {
10
  console.log('Vous êtes mineur, vous allez être redirigé vers une autre page')
11
}
12
13
function redirectUser() {
14
 // code à implémenter
15
}
16
17
redirectUser().then(success, error)

Solution

1
function askAge() {
2
  return prompt('Quel âge avez-vous ?')
3
}   
4
5
function success() {
6
  console.log('Vous êtes majeur, vous pouvez continuer votre navigation')
7
}
8
9
function error() {
10
  console.log('Vous êtes mineur, vous allez être redirigé vers une autre page')
11
}
12
13
function redirectUser() {
14
  return new Promise((resolve, reject) => {
15
    let age = askAge()
16
17
    if (age >= 18) {
18
      resolve()
19
    } else {
20
      reject()
21
    }
22
  })
23
}
24
25
redirectUser().then(success, error)