質問: **質問** `new Promise(executor);` と `new Promise(function(resolve, reject) { ... });` では何が違うのでしょうか? ・ネットを見ると、`new Promise(function(resolve, reject) { ... });` について書かれているものしかないように見受けられたのですが ・もしかすると、同じ意味? --- **質問背景** ・Promiseコンストラクタは必ず引数をとらなければいけないのか調べている内、疑問に思ったので質問しました
回答: 同じ意味です。 前者の `executor` には `function(resolve, reject) { .... }` という2引数の関数を渡す必要が有る、ということを示したかったのでしょう。つまり以下の様な、別のものを渡す使い方はできない(しない)、ということでもあります。 ``` // 何も渡さない new Promise(); // オブジェクトを渡す new Promise({ run: function() {... } }); // 引数のない関数を渡す(resolveできないので、やる意味が無い) new Promise(function() { // do something }); ``` JavaScriptの関数引数には型を指定する方法がありませんので、例示的にそれを示したものと考えられます。