繁体   English   中英

打字稿Promise.All多种定义

[英]Typescript promise.all multiple definitions

我期望在Typescript 2.2中使用以下代码:

Promise.all([1, true]).then(([x]) => x + 1);

返回2,但不是。 这是发生了什么: Visual Studio代码错误

经过一些挖掘后,我发现打字稿有2个带有Promise.all文件。 Promise.all定义,

lib.es2015.promise.d.ts以此方式定义:

all<T1, T2>(values: [T1 | PromiseLike<T1>, T2 | PromiseLike<T2>]): Promise<[T1, T2]>;

lib.es2015.iterable.d.ts以此方式定义它:

all<TAll>(values: Iterable<TAll | PromiseLike<TAll>>): Promise<TAll[]>;

就我而言,问题是编译器正在使用可迭代版本。

我正在使用tsconfig.json进行以下设置:

{
...
"lib": ["dom", "es2017"]
}

所以我的问题是,我该如何解决? 强制Promise.all类型? 让编译器选择我喜欢的类型定义?

这似乎已经解决了问题:

"lib": ["dom", "es2015.promise", "es2017"],

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM