简体   繁体   English

空 Promise.resole() 的返回类型 new Promise Typescript

[英]Return type for an empty Promise.resole() new Promise Typescript

I'm struggling with return type for the current function (example):我正在为当前 function 的return type而苦苦挣扎(示例):

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

How do I define a type that this function returns?如何定义此 function 返回的type

I know that I can set unknown or any , but I'm looking for a cleaner approach.我知道我可以设置unknownany ,但我正在寻找一种更清洁的方法。

You can use Promise as generic,您可以使用Promise作为通用,

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

instead of void you can use another type, based on your Promise resolve根据您的 Promise 解析,您可以使用其他类型,而不是void

I think, Promise<any> is a good solution here.我认为, Promise<any>在这里是一个很好的解决方案。 Since, we haven't defined return type from resolve methods.因为,我们还没有定义resolve方法的return类型。

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

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