はじめに
下記のようなコードを見る機会は多いと思いますが、それぞれ何を行っているのか言語化するとなると少々理解するのに時間がかかったため、解説を共有させていただきます。
.tsx
new Promise(resolve => setTimeout(resolve, 1000));
// new ProiseでPromiseを作成しコールバック関数としてresolveを受け取っている。
// resolveは引数としてsetTimeoutに渡している
// setTimeoutは1秒後にresolveを実行する
上記のコードは関数の引数の中にアロー関数を記述しているコールバック関数になっていること、またアロー関数の記述の仕方も省略している部分があることで、更に理解が難しくなっています。
下記のように省略することなく記述したものを見れば、理解しやすくなると思います。
上記コードと同じことを行っています。
.tsx
new Promise((resolve) => { setTimeout(() => { resolve();}, 1000);});
