javascript - 我可以从 typescript 中的 promise 返回数组列表吗

标签 javascript typescript

我需要在 typescript 中返回 promise 中的数组列表。 这是我的实现,但没有成功。我在这方面需要认真的帮助。

const promise = new Promise((resolve, reject) => {    
    let onbidJobs:any = [...objects];
    let awardedJobs:any = [...objects];
    let completedJobs:any = [...objects];

    //return the jobs
    resolve({
        onbid: onbidJobs,
        awarded: awardedJobs,
        completed: completedJobs
    });
});

let returnedonbid:any;
let returnedaward:any;

promise.then((resolve) => {
   this.returnedaward = resolve.awarded;
   this.returnedonbid = resolve.onbid;  //<-- I really want to return my arrays like this
});

最佳答案

您不应使用:any。相反,尽可能定义对象的实际类型。此外,您应该定义 Promise 返回类型,如下所示:

const promise = new Promise<{onbid:any, awarded:any, completed:any}>((resolve, reject) => { ...

定义 Promise 的返回类型后,您将获得 then 参数的类型信息。

您还可以使用接口(interface)来捆绑类型,这样它就不会使您的代码变得臃肿,特别是当您多次需要它时。

关于javascript - 我可以从 typescript 中的 promise 返回数组列表吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44745585/

相关文章:

javascript - nuxt加载本地JS文件的方法

javascript - 允许用户安全地将 HTML 保存到数据库吗?

angular - 事件绑定(bind)和属性绑定(bind)有什么区别?

angular - 为什么我将 Content child 设置为 undefined?

在 Typescript 中转换日期类型

reactjs - 为什么我的故事书组件的参数显示为可选而不是必需的?

javascript - 如何在 Node.js 中定义分水岭?

PHP 等价于indexOf

javascript - 从 Angular 12 更新到 13 时如何修复 'require() of ES Module not supported' 错误?

javascript - 在构建 Angular 2 应用程序时访问系统变量(环境变量)