打字稿承诺通用类型

VJAI:

我有一个示例Promise函数,如下所示。成功时返回a number失败时返回string编译器抱怨为promise指定某种通用类型。在这种情况下,我必须指定哪种类型?我必须指定点赞Promise<number>还是Promise<number | string>

function test(arg: string): Promise {
    return new Promise((resolve, reject) => {
        if (arg === "a") {
            resolve(1);
        } else {
            reject("1");
        }
    });
}
戴夫·坦普林(Dave Templin):

Promise的通用类型应与函数的非错误返回类型相对应。该错误是隐式类型的any,未在Promise通用类型中指定。

因此,例如:

function test(arg: string): Promise<number> {
    return new Promise<number>((resolve, reject) => {
        if (arg === "a") {
            resolve(1);
        } else {
            reject("1");
        }
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章