有段 JS代码的promise函数接收了两个参数,第二参数的意义是什么?

我想问JS的promise应该是只用填“一个”函数来作为参数的对吧

function noted(gcb) {
    var noted = { resolve: undefined, reject: undefined };

    noted.promise = new Promise(function (resolve, reject) {
      noted.resolve = resolve;
      noted.reject = reject;
    }, gcb);

    return noted;
}

n="{\"str\":\"cmcpe\"}"
d=new XMLHttpRequest;
d.open('POST','domo',!0);
d.setRequestHeader('Accept','*/*');
d.onreadystatechange='此处函数太长省略了';
e=noted(function(){
                                return d.send(n)
                                            }
);

但上面代码中Promise中有两个参数

参数1:匿名函数

参数2:gcb

请问这是为什么,第二个参数起什么作用的,麻烦尽量说详细点,谢谢啦!

从 Promise 的用法上来看,一般都是只传一个回调函数来创建实例的。
不知道你再哪里看到这段代码的,从这段代码来看,如果没有重写 Promise 的构造函数的话,第二个参数 gcb 是没有用的。
但是传入对原生的 Promise 的创建没有任何影响。

没怎么写过 2个参数 但是貌似也不报错