0
我試圖繼承標準承諾對象,但我想then
返回一個標準承諾對象,而不是我的子類。NodeJS承諾和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工作?任何想法如何解決這個問題?