代码之家  ›  专栏  ›  技术社区  ›  Peter Kellner

可以找出如何让TypeScript对返回的承诺感到满意

  •  0
  • Peter Kellner  · 技术社区  · 7 年前

    错误:(1,7)TS2739:类型'()=>承诺<{}>'类型“Promise”中缺少以下属性<{haserroed:boolean;}>':然后,捕获[Symbol.toStringTag]

    关联代码为

    const fetchUserInfoPromise1: Promise<{ hasErrored: boolean }> = () => {
        return new Promise(function(resolve) {
            resolve({ id: 1, name: 'peter' });
        });
    };
    export default fetchUserInfoPromise1;
    
    1 回复  |  直到 7 年前
        1
  •  11
  •   Karol Majewski    7 年前

    首先, fetchUserInfoPromise1 是一个返回 Promise ,而不是 它本身

    const fetchUserInfoPromise1 = (): Promise<{ hasErrored: boolean }> => { /* ... */ }
    

    许诺 { hasErrored: boolean } { id: number, name: string } . 你需要决定你想要完成什么。

    例子:

    const fetchUserInfoPromise1 = (): Promise<{ id: number, name: string }> => {
      return new Promise(function (resolve) {
        resolve({ id: 1, name: 'peter' });
      });
    };
    
        2
  •  0
  •   A Khudairy    6 年前

    checkIfTrue(): Promise<boolean>{ return true; }
    

    async checkIfTrue(): Promise<boolean>{ return true; }