/async-problem

:twisted_rightwards_arrows: Solutions and non-solutions to JavaScript's async problem

Primary LanguageJavaScript

JavaScript has a problem

We like to say that JavaScript has a callback problem. This project considers various approaches to the following problem:

Given a path to a directory containing an index file, index.txt, and zero or more other files, read the index file (which contains one filename per line), then read each of the files listed in the index concurrently, concat the resulting strings (in the order specified by the index), and write the result to stdout.

All side effects must be isolated to the main function. Impure functions may be defined at the top level but may only be invoked in main.

The solutions are best read in the following order:

Solutions are graded on the following criteria:

  • the size of main (smaller is better); and
  • the degree to which the approach facilitates breaking the problem into manageable subproblems.

† Perhaps in five years we'll be saying that JavaScript has a promise problem.