• Short for asynchronous input/output
  • A programming paradigm that allows IO Operation to be performed concurrently with other tasks, without blocking the execution of the program, so the CPU can initiate multiple other I/O operations and continue executing other CPU-bounded tasks while waiting for the results
  • Powered by Asynchronous Thread

Higher complexity

Coding an excess of callback functions can get messy and becomes a nightmare for programmers attempting to analyze them.

Syntactic features, such as promises and async/await patterns, have been introduced to streamline code syntax and ease the experience of reading it for programmers. Still, these features add a layer of complexity to the code.

Async IO in JS (Promise Execution)

Refer to JavaScript Visualized - Promise Execution - YouTube