diff --git a/01-making-promises/answers.js b/01-making-promises/answers.js index 36dc24b..504bff2 100644 --- a/01-making-promises/answers.js +++ b/01-making-promises/answers.js @@ -1,49 +1,60 @@ - /** - * + * * EXERCISE 1 - * + * * @returns {Promise<3>} */ -function makePromiseResolveWith3(){ +function makePromiseResolveWith3() { /* IMPLEMENT ME! */ + return Promise.resolve(3); } /** - * + * * EXERCISE 2 - * + * * @returns {Promise<,"Boo!">} */ -function makePromiseRejectWithBoo(){ +function makePromiseRejectWithBoo() { /* IMPLEMENT ME! */ + return Promise.reject("Boo!"); } /** - * + * * EXERCISE 3 - * + * * @param {boolean} itShouldResolve - Whether the promise should resolve or reject * @returns {Promise} */ -function makePromiseWithConstructor(itShouldResolve){ +function makePromiseWithConstructor(itShouldResolve) { return new Promise((resolve, reject) => { /* If itShouldResolve is true, call resolve */ /* If itShouldResolve is false, call reject */ + if (itShouldResolve) { + resolve("truthy"); + } else { + reject("falsy"); + } }); } /** - * + * * EXERCISE 4 * - * @param {any} value - * @param {number} delayInMs + * @param {any} value + * @param {number} delayInMs * @return {Promise} - A promise that will resolve with the value after delayInMs milliseconds */ -function makeDelayPromise(value, delayInMs){ +function makeDelayPromise(value, delayInMs) { /* Return a promise that resolves with the value after delayInMs */ + return new Promise((resolve, reject) => { + setTimeout(() => { + resolve(value); + }, delayInMs); + }); } module.exports = { @@ -51,4 +62,4 @@ module.exports = { makePromiseRejectWithBoo, makePromiseWithConstructor, makeDelayPromise, -}; \ No newline at end of file +};