From c96881755ef1839bb4f1f443e01b142b0175b413 Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Fri, 7 Apr 2017 00:20:56 +0300 Subject: [PATCH] minor --- 8-async/01-callback-hell/article.md | 187 ++++++++++++++++ 8-async/01-callback-hell/callback-hell.png | Bin 0 -> 33898 bytes 8-async/01-callback-hell/callback-hell@2x.png | Bin 0 -> 80616 bytes 8-async/02-promise-basics/article.md | 206 ++++++++++++++++++ 8-async/02-promise-basics/promise-init.png | Bin 0 -> 11019 bytes 8-async/02-promise-basics/promise-init@2x.png | Bin 0 -> 25380 bytes .../promise-resolve-reject.png | Bin 0 -> 16203 bytes .../promise-resolve-reject@2x.png | Bin 0 -> 38702 bytes 8-async/03-promise-chaining/article.md | 0 8-async/03-promise-chaining/head.html | 10 + 8-async/index.md | 5 + 11 files changed, 408 insertions(+) create mode 100644 8-async/01-callback-hell/article.md create mode 100644 8-async/01-callback-hell/callback-hell.png create mode 100644 8-async/01-callback-hell/callback-hell@2x.png create mode 100644 8-async/02-promise-basics/article.md create mode 100644 8-async/02-promise-basics/promise-init.png create mode 100644 8-async/02-promise-basics/promise-init@2x.png create mode 100644 8-async/02-promise-basics/promise-resolve-reject.png create mode 100644 8-async/02-promise-basics/promise-resolve-reject@2x.png create mode 100644 8-async/03-promise-chaining/article.md create mode 100644 8-async/03-promise-chaining/head.html create mode 100644 8-async/index.md diff --git a/8-async/01-callback-hell/article.md b/8-async/01-callback-hell/article.md new file mode 100644 index 00000000..7cf79efb --- /dev/null +++ b/8-async/01-callback-hell/article.md @@ -0,0 +1,187 @@ + +# Callback hell + +Many things that we do in JavaScript are asynchronous. We initiate a process, but it finishes later. + +The most obvious example is `setTimeout`, but there are others, like making network requests, performing animations and so on. + +Let's see a couple of examples, so that we can discover a problem, and then solve it using "promises". + +[cut] + +## Callbacks + +Remember resource load/error events? They are covered in the chapter . + +Let's say we want to create a function `loadScript` that loads a script and executes our code afterwards. + +It can look like this: + +```js +function loadScript(src, callback) { + let script = document.createElement('script'); + script.src = src; + + script.onload = () => callback(script); + + document.head.append(script); +} +``` + +Now when we want to load a script and then do something, we can call: + +```js +loadScript('/my/script.js', function(script) { + alert(`Cool, the ${script.src} is loaded, let's use it`); +}); +``` + +...And it works, shows `alert` after the script is loaded. + +That is called "a callback API". Our function `loadScript` performs an asynchronous task and we can hook on its completion using the callback function. + +## Callback in callback + +What if we need to load two scripts: one more after the first one? + +We can put another `loadScript` inside the callback, like this: + +```js +loadScript('/my/script.js', function(script) { + alert(`Cool, the ${script.src} is loaded, let's load one more`); + + loadScript('/my/script2.js', function(script) { + + alert(`Cool, the second script is loaded`); + + }); + +}); +``` + +Now after the outer `loadScript` is complete, the callback initiates the inner one. + +...What if we want one more script? + +```js +loadScript('/my/script.js', function(script) { + + loadScript('/my/script2.js', function(script) { + + if (something) { + loadScript('/my/script3.js', function(script) { +*!* + // ...continue after all scripts are loaded +*/!* + }); + } + + }) + +}); +``` + +As you can see, a new asynchronous action means one more nesting level. + +## Handling errors + +In this example we didn't consider errors. What if a script loading failed with an error? Our callback should be able to react on that. + +Here's an improved version of `loadScript` that can handle errors: + +```js run +function loadScript(src, callback) { + let script = document.createElement('script'); + script.src = src; + +*!* + script.onload = () => callback(null, script); + script.onerror = () => callback(new Error(`Script load error ` + src)); +*/!* + + document.head.append(script); +} +``` + +It calls `callback(null, script)` for successful load and `callback(error)` otherwise. + +Usage: +```js +loadScript('/my/script.js', function(error, script) { + if (error) { + // handle error + } else { + // script loaded, go on + } +}); +``` + +The first argument of `callback` is reserved for errors and the second argument for the successful result. That allows to use a single function to pass both success and failure. + +## Pyramid of doom + +From the first look it's a viable code. And indeed it is. For one or maybe two nested calls it looks fine. + +But for multiple asynchronous actions that follow one after another... + +```js +loadScript('/my/script1.js', function(error, script) { + + if (error) { + handleError(error); + } else { + // ... + loadScript('/my/script2.js', function(error, script) { + if (error) { + handleError(error); + } else { + // ... + loadScript('/my/script3.js', function(error, script) { + if (error) { + handleError(error); + } else { + *!* + // ...continue after all scripts are loaded (*) + */!* + } + }); + + } + }) + } +}); +``` + +In the code above: +1. we load `/my/script1.js`, then if there's no error +2. we load `/my/script2.js`, then if there's no error +3. we load `/my/script3.js`, then if there's no error -- do something else `(*)`. + +The nested calls become increasingly more difficult to manage, especially if we add real code instead of `...`, that may include more loops, conditional statements and other usage of loaded scripts. + +That's sometimes called "callback hell" or "pyramid of doom". + +![](callback-hell.png) + +See? It grows right with every asynchronous action. + +Compare that with a "regular" synchronous code. + +Just *if* `loadScript` were a regular synchronous function: + +```js +try { + // assume we get the result in a synchronous manner, without callbacks + let script = loadScript('/my/script.js'); + // ... + let script2 = loadScript('/my/script2.js'); + // ... + let script3 = loadScript('/my/script3.js'); +} catch(err) { + handleError(err); +} +``` + +How much cleaner and simpler it is! + +Promises allow to write asynchronous code in a similar way. They are really great at that. Let's study them in the next chapter. diff --git a/8-async/01-callback-hell/callback-hell.png b/8-async/01-callback-hell/callback-hell.png new file mode 100644 index 0000000000000000000000000000000000000000..aae83b775a12a6274ad8f1732430113f3a8e16d8 GIT binary patch literal 33898 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 literal 0 HcmV?d00001 diff --git a/8-async/01-callback-hell/callback-hell@2x.png b/8-async/01-callback-hell/callback-hell@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1751e3af0fc5260f3fe9ae0556d7e03e8def5cf1 GIT binary patch literal 80616 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%0D<5;s%bO8bxrFxBBsE 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

3mI~ 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 *!*resolve("done!")*/!*, 1000); +}); +``` + +Or, in case of an error: + +```js +let promise = new Promise(function(resolve, *!*reject*/!*) { + setTimeout(() => *!*reject(new Error("Woops!"))*/!*, 1000); +}); +``` + +Initially, the promise is said to have a "pending" state. Then it has two ways. When `resolve` is called, the state becomes "fulfilled". When `reject` is called, the state becomes "rejected": + +![](promiseInit.png) + +The idea of promises is that an external code may react on the state change. + +The `promise` object provides the method `promise.then(onResolve, onReject)`. + +Both its arguments are functions: + +- `onResolve` is called when the state becomes "fulfilled" and gets the result. +- `onReject` is called when the state becomes "rejected" and gets the error. + +For instance, here `promise.then` outputs the result when it comes: + +```js run +let promise = new Promise(function(resolve, reject) { + setTimeout(() => resolve("done!"), 1000); +}); + +// shows "done!" after 1 second +promise.then(result => alert(result)); +``` + +...And here it shows the error message: + + +```js run +let promise = new Promise(function(resolve, reject) { + setTimeout(() => reject(new Error("Woops!")), 1000); +}); + +// shows "Woops!" after 1 second +promise.then(null, error => alert(error.message)); +``` + +![](promise-resolve-reject.png) + + +- To handle only a result, we can use single argument: `promise.then(onResolve)` +- To handle only an error, we can use a shorthand method `promise.catch(onReject)` -- it's the same as `promise.then(null, onReject)`. + +Here's the example rewritten with `promise.catch`: + +```js run +let promise = new Promise(function(resolve, reject) { + setTimeout(() => reject(new Error("Woops!")), 1000); +}); + +*!* +promise.catch(error => alert(error.message)); +*/!* +``` + +"What's the benefit?" -- one might ask, "How do we use it?" Let's see an example. + +## Example: loadScript + +We have the `loadScript` function for loading a script from the previous chapter, here's the callback-based variant: + +```js +function loadScript(src, callback) { + let script = document.createElement('script'); + script.src = src; + + script.onload = () => callback(null, script); + script.onerror = () => callback(new Error(`Script load error ` + src)); + + document.head.append(script); +} +``` + +Let's rewrite it using promises. + +The call to `loadScript(src)` below returns a promise that settles when the loading is complete: + +```js run +function loadScript(src) { + return new Promise(function(resolve, reject) { + let script = document.createElement('script'); + script.src = src; + + script.onload = () => resolve(script); + script.onerror = () => reject(new Error("Script load error: " + src)); + + document.head.append(script); + }); +} + +*!* +// Usage: +*/!* +let promise = loadScript("https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"); +promise.then( + script => alert(`${script.src} is loaded!`), + error => alert(`Error: ${error.message}`); +); +``` + +The benefits compared to the callback syntax: + +- We can add as many `.then` as we want and when we want. Maybe later. +- Also we can pass a promise object somewhere else, and new handlers can be added there, so that's extensible. + +So promises already give us flexibility. But there's more. We can chain promises, see the next chapter. + + +````warn header="Once a promise settles, it can't be changed" +When either `resolve` or `reject` is called -- the promise becomes *settled* (fulfilled or rejected), and the state is final. The result is saved in the promise object. + +Future calls of `resolve/reject` are ignored, there's no way to "re-resolve" or "re-reject" a promise. + +For instance, here only the first `resolve` works: + +```js run +let promise = new Promise(function(resolve, reject) { + resolve("done!"); // immediately fulfill with the result: "done" + + setTimeout(() => resolve("..."), 1000); // ignored + setTimeout(() => reject(new Error("..."), 2000)); // ignored +}); + +// the promise is already fulfilled, so the alert shows up right now +promise.then(result => alert(result), () => alert("Never runs")); +```` + + +```smart header="On settled promises `then` runs immediately" +As we've seen from the example above, a promise may call resolve/reject without delay. That happens sometimes, if it turns out that there's no asynchronous things to be done. + +When the promise is settled (resolved or rejected), subsequent `promise.then` callbacks are executed immediately. +``` + +````smart header="Functions resolve/reject have only one argument" +Functions `resolve/reject` accept only one argument. + +We can call them without any arguments: `resolve()`, that makes the result `undefined`: + +```js run +let promise = new Promise(function(resolve, reject) { + resolve(); +}); + +promise.then(result => alert(result)); // undefined +``` + +...But if we pass more arguments: `resolve(1, 2, 3)`, then all arguments after the first one are ignored. A promise may have only one value as a result/error. + +Use objects and destructuring if you need to pass many values, like this: + +```js run +let promise = new Promise(function(resolve, reject) { + resolve({name: "John", age: 25}); // two values packed in an object +}); + +// destructuring the object into name and age variables +promise.then(function({name, age}) { + alert(`${name} ${age}`); // John 25 +}) +``` + +```` diff --git a/8-async/02-promise-basics/promise-init.png b/8-async/02-promise-basics/promise-init.png new file mode 100644 index 0000000000000000000000000000000000000000..c54ce05f1dfbb5c63984616942a5038d3c600a90 GIT binary patch literal 11019 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 FV1lw-wlV+! literal 0 HcmV?d00001 diff --git a/8-async/02-promise-basics/promise-init@2x.png b/8-async/02-promise-basics/promise-init@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..82f0d7138c18c87c0117cf57129085a2817d7cc3 GIT binary patch literal 25380 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 literal 0 HcmV?d00001 diff --git a/8-async/02-promise-basics/promise-resolve-reject.png b/8-async/02-promise-basics/promise-resolve-reject.png new file mode 100644 index 0000000000000000000000000000000000000000..5d047ab481ce1627ebc6571488d22b14ad05ec93 GIT binary patch literal 16203 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 literal 0 HcmV?d00001 diff --git a/8-async/02-promise-basics/promise-resolve-reject@2x.png b/8-async/02-promise-basics/promise-resolve-reject@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..993091a70c453dcc56b76f22e79f9616555ecb37 GIT binary patch literal 38702 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

eC_yl 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 +function loadImage(src) { + return new Promise((resolve, reject) => { + let img = document.createElement('img'); + img.src = src; + img.onload = () => resolve(img); + img.onerror = () => reject(new Error("Image load failed: " + src)); + }); +} + diff --git a/8-async/index.md b/8-async/index.md new file mode 100644 index 00000000..7ffeeaf9 --- /dev/null +++ b/8-async/index.md @@ -0,0 +1,5 @@ +development: true + +--- + +# Promises, async/await