You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.4 KiB

kept-promise

Instructions

Thing in your code does not always happen as fast as you would like.

Sometimes it is important to wait for a function to finish before keep going on with your life.

Create an asynchronous function processInfo in the file kept-promise.js. The function processInfo will take an asynchronous function as an input, and it will print the message Ok! if the return of the input function is zero or a multiple of two, Error! otherwise.

The following function can be used as an example of input function for processInfo:

const getImportantInfo = _ =>
  new Promise(resolve => {
    setTimeout(() => resolve(Math.round(Math.random() * 10)), 1000)
  })

Assume that your function will always get a valid input function

Example

The following script main.js can be used to test your function:

import processInfo from './kept-promise.js'

const getImportantInfo = _ =>
  new Promise(resolve => {
    setTimeout(() => resolve(Math.round(Math.random() * 10)), 1000)
  })

console.log(await processInfo(getImportantInfo))

The output should be the following:

$  node main.js
Ok!
$  node main.js
Error!
$  node main.js
Ok!
$

Notions