18707
**質問**  
`new Promise(executor);` と  
`new Promise(function(resolve, reject) { ... });` では何が違うのでしょうか？

・ネットを見ると、`new Promise(function(resolve, reject) { ... });`
について書かれているものしかないように見受けられたのですが

・もしかすると、同じ意味？

* * *

**質問背景**  
・Promiseコンストラクタは必ず引数をとらなければいけないのか調べている内、疑問に思ったので質問しました

<https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise>
CC BY-SA 3.0
2015-11-12T00:16:31.680
18706
2019-07-28T01:58:21.383
2019-07-28T01:58:21.383
9008
7886
question
javascript ecmascript-6 promise
new Promise(executor); と new Promise(function(resolve, reject) { ... }); の違い
同じ意味です。

前者の `executor` には `function(resolve, reject) { .... }`
という2引数の関数を渡す必要が有る、ということを示したかったのでしょう。つまり以下の様な、別のものを渡す使い方はできない(しない)、ということでもあります。

```

    // 何も渡さない
    new Promise();
    
    // オブジェクトを渡す
    new Promise({
      run: function() {... }
    });
    
    // 引数のない関数を渡す(resolveできないので、やる意味が無い)
    new Promise(function() {
      // do something
    });
    
```

JavaScriptの関数引数には型を指定する方法がありませんので、例示的にそれを示したものと考えられます。
CC BY-SA 3.0
2015-11-12T00:53:11.310
18707
2015-11-12T00:53:11.310
208
18706
answer