小编Dom*_*nik的帖子

使用承诺数组调用 Promise.all 时打字稿会引发错误

我在 Typescript 中遇到了 Promise 的问题。我正在尝试使用一系列承诺调用 Promise.all但相反,我得到了

没有重载匹配这个调用。最后一次重载给出了以下错误。'(Promise | Promise)[]' 类型的参数不可分配给 'Iterable<boolean | 类型的参数 PromiseLike>'。[...]

下面是我所指的简化示例:

const promise1 = Promise.resolve(true);         //promise1:Promise<boolean>
const promise2 = Promise.resolve('promise...'); //promise2:Promise<string>
const promises = [promise1, promise2];

Promise.all(promises); //Error here
Run Code Online (Sandbox Code Playgroud)

但是,下面的代码按我的假设工作。:

const promise1 = Promise.resolve(true);
const promise2 = Promise.resolve('promise...');

Promise.all([promise1, promise2]);
Run Code Online (Sandbox Code Playgroud)

对我来说似乎是一个错误,但我不确定。我一直在浏览 GitHub,搜索这个问题,但没有找到任何匹配项。或者我做错了什么,有一个解决方案,所以你可以克服这个问题。显然,我不能只在我的主要代码中编写 Promise.all([promise1, promise2]),因为 promise 数组是动态的。

我正在使用打字稿@3.9.6

promise typescript

3
推荐指数
1
解决办法
886
查看次数

标签 统计

promise ×1

typescript ×1