首页 > 解决方案 > 空 Promise.resole() 的返回类型 new Promise Typescript

问题描述

我正在return type为当前功能而苦苦挣扎(示例):

const someFunction = () => {
    if (condition) {
        return Promise.resolve()
    }
    return new Promise(resolve => setTimeout(resolve, 1000))
}

如何定义type此函数返回的 a?

我知道我可以设置unknownor any,但我正在寻找一种更清洁的方法。

标签: javascripttypescript

解决方案


您可以Promise用作通用,

const someFunction = (): Promise<void> => {
    if (condition) {
        return Promise.resolve()
    }
    return new Promise(resolve => setTimeout(resolve, 1000))
}

而不是void你可以使用另一种类型,基于你的承诺解决


推荐阅读