w3resource

JavaScript: Chain asynchronous functions

JavaScript fundamental (ES6 Syntax): Exercise-62 with Solution

Chain Asynchronous Functions

Write a JavaScript program to chain asynchronous functions.

Note: Loop through an array of functions containing asynchronous events, calling next when each asynchronous event has completed.

  • Loop through an array of functions containing asynchronous events, calling next when each asynchronous event has completed.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2
// Define a function 'chainAsync' to execute an array of asynchronous functions sequentially.
const chainAsync = fns => {
  let curr = 0;
  
  // Define a helper function 'next' to execute the next function in the array.
  const next = () => fns[curr++](next);
  
  // Start the chain by calling 'next'.
  next();
};

// Call 'chainAsync' with an array of asynchronous functions.
chainAsync([
  next => {
    console.log('0 seconds');
    setTimeout(next, 1000);
  },
  next => {
    console.log('1 second');
  }
]);

Output:

0 seconds
1 second

Flowchart:

flowchart: Chain asynchronous functions

Live Demo:

See the Pen javascript-basic-exercise-62-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to cast the provided value as an array if it's not one.
Next: Write a JavaScript program to clone a given regular expression.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-62.php