Quiz 24: Async / Await
⚠️
Warning: Executing code will replace the current content on this page with the output produced by the executed code. To return to the quiz simply reload the page using
CTRL + R.Question 1
Shows
'2'?JavaScript
const idPromise = x => new Promise(resolve => resolve(x));
const failPromise = err => new Promise((resolve, reject) => reject(err));
const writer = x => {
document.writeln(x);
return idPromise(x);
};
const inc = n => idPromise(n + 1);
const filterEven = n => n % 2 === 0 ? idPromise(n) : failPromise("not even");
const foo = async i => {
let x = await idPromise(i);
while (x < 4) {
x = await filterEven(x);
x = await writer(x);
x = await inc(x);
}
};
foo(1);Question 2
Shows
'1'?JavaScript
const idPromise = x => new Promise(resolve => resolve(x));
const failPromise = err => new Promise((resolve, reject) => reject(err));
const writer = x => {
document.writeln(x);
return idPromise(x);
};
const foo = async i => {
let x = await idPromise(i);
x.then(writer);
};
foo(1);Question 3
Shows
'2'?JavaScript
const idPromise = x => new Promise(resolve => resolve(x));
const failPromise = err => new Promise((resolve, reject) => reject(err));
const writer = x => {
document.writeln(x);
return idPromise(x);
};
const inc = n => idPromise(n + 1);
const filterEven = n => n % 2 === 0 ? idPromise(n) : failPromise("not even");
const foo = async i => {
let x = await idPromise(i);
while (x < 4) {
let x = await idPromise(x);
try {
x = await filterEven(x);
} catch (err) {
// ignore the error
}
x = await writer(x);
x = await inc(x);
}
};
foo(1);Question 4
Shows
'1'?JavaScript
const idPromise = x => new Promise(resolve => resolve(x));
const failPromise = err => new Promise((resolve, reject) => reject(err));
const foo = async i => {
let x = await idPromise(i);
document.write(x);
};
foo(1);Question 5
Shows
'1 2 3'?JavaScript
const idPromise = x => new Promise(resolve => resolve(x));
const failPromise = err => new Promise((resolve, reject) => reject(err));
const writer = x => {
document.writeln(x);
return idPromise(x);
};
const inc = n => idPromise(n + 1);
const foo = async i => {
let x = await idPromise(i);
while (x < 4) {
x = await writer(x);
x = await inc(x);
}
};
foo(1);