0
標準の約束オブジェクトをサブクラス化しようとしましたが、then
は私のサブクラスではない標準の約束オブジェクトを返すようにします。NodeJS PromiseとSymbol.speciesの使用
class CustomPromise extends Promise
{
constructor(fn)
{
super(fn);
}
static get [Symbol.species]()
{
console.log("get Symbol.species");
return Promise;
}
toString()
{
return "CustomPromise";
}
}
var p = new CustomPromise((resolve) => resolve(5)).then(v => console.log(v));
console.log(p.toString());
私は見た:
test4.js:12 get Symbol.species
test4.js:25 [object Promise]
しかしNodeJS
node ~/Documents/test4.js
CustomPromise
で動作するように思われませんが、これはNodeJSのバグですか?どのようにこの問題を回避するにはどのようなアイデアですか?