我有一个场景,其中承诺将是未定义的一些远程执行的代码库。本地,它正在运行节点。远程,它运行另一个运行时,没有承诺。蓝鸟工作正常,但我想覆盖承诺的所有文件,如果它是未定义的。
比如:
import { Promise as BlueBirdPromise } from 'bluebird';
if (!Promise) {
Promise = BlueBirdPromise;
Promise.setScheduler((fn: any) => {
setTimeout(fn, 0);
});
}
上面的代码不起作用,因为Promise和BlueBirdPromise是不同的类型。我相信Promise是TS中的一个接口。
有干净的方法吗?
示例:
import { Promise as BlueBirdPromise } from 'bluebird';
BlueBirdPromise.setScheduler((fn: any) => {
setTimeout(fn, 0);
});
// eslint-disable-next-line
Promise = BlueBirdPromise;
错误:
polyfills.ts:13:1 - error TS2741: Property '[Symbol.species]' is missing in type 'typeof Bluebird' but required in type 'PromiseConstructor'.
1条答案
按热度按时间yvgpqqbh1#
解决日期: