April 2018
Beginner
536 pages
13h 21m
English
We have learned that callbacks and higher-order functions are two powerful and flexible JavaScript and TypeScript features. However, the use of callbacks can lead to a maintainability issue known as callback hell.
We are now going to write an example to showcase callback hell. We are going to write three functions with the same behavior, named doSomethingAsync, doSomethingElseAsync, and doSomethingMoreAsync:
function doSomethingAsync( arr: number[], success: (arr: number[]) => void, error: (e: Error) => void ) { setTimeout(() => { try { let n = Math.ceil(Math.random() * 100 + 1); if (n < 25) { throw new Error("n is < 25"); } success([...arr, n]); } catch (e) { error(e); } }, 1000); } function doSomethingElseAsync( arr: number[], ...