JSの非同期処理の歴史、コールバック関数(ES5以前)→Promise(ES6)→async/await(ES8)の違いについて

JSの非同期処理の歴史、コールバック関数(ES5以前)→Promise(ES6)→async/await(ES8)の違いについて

前回の続き

JSの非同期関数とコールバック関数とは? この場合はコールバック関数って名前より、後処理関数って方が分かりやすいな…。

参考URL
https://sbfl.net/blog/2016/07/13/simplifying-async-code-with-promise-and-async-await/

注意:
XMLHttpRequest()は、サーバサイドのnode.js(コマンドライン)では使えないので、ブラウザのF12押してディベロッパーツールのコンソールにコピペして実行する。
最後のサンプルみたいにrequest関数で実装するのが正解だな。

1, コールバック関数を使わないと、非同期関数をうまく使えない

2, 非同期関数に、コールバック関数を渡して完了してから処理を行えばOK!

3, 非同期関数+コールバック関数が沢山だとネストがヒドい!(コールバック地獄)

3, Promise(プロミス)とは何か?基本文法は、こんな感じ

4, 非同期処理のコールバック地獄を解消するPromise(プロミス)で記述する。
ネストが深くならず、関数化されてて良い感じ!

5, ES8(ECMAScript2017)では、Promiseの糖衣構文(syntax sugar=シンプルで分かりやすい書き方)のasync/awaitが登場した!
a, Promiseオブジェクトを返す非同期関数の前には、awaitをつける
b, awaitを使うには、async function内でないと駄目!