我想在Typescript中定义一个辅助函数allSettled()
,它模拟Bluebird网站上讨论的模式:
http://bluebirdjs.com/docs/api/reflect.html
我的尝试在这里:
export function allSettled<T>(promiseHash: IDictionary<Promise<T>>): IDictionary<Promise.Inspection<T>> {
return Promise.props(
Object
.keys(promiseHash)
.reduce((newObject: IDictionary<Promise<T>>, key: string) => {
newObject[key] = promiseHash[key].reflect();
return newObject;
}, {})
);
}
我将IDictionary
定义为:
interface IDictionary<T> {
[key: string]: T;
};
从功能上讲,上面的脚本可以工作,但是Typescript抱怨:
类型'Bluebird'不能分配给'IDictionary&gt;'类型。 “Bluebird”类型中缺少索引签名。
非常感谢任何帮助。