javascript - Hämta ett värde från ett Promise i Typescript


En av funktionerna inom en TypeScript-klass returnerar en Promise<string>. Hur avpaketerar/returnerar jag värdet inuti det löftet.

functionA(): Promise<string> {
   // api call returns Promise<string>
}

functionB(): string {
   return this.functionA() // how to unwrap the value inside this  promise
}

Svar #1

Hur avpaketerar/jusar jag värdet inuti det där löftet

Du kan göra det med async/await. Låt dig inte luras att tro att du bara gick från async till sync, async await är bara ett omslag runt .then.

functionA(): Promise<string> {
   // api call returns Promise<string>
}

async functionB(): Promise<string> {
   const value = await this.functionA() // how to unwrap the value inside this  promise
   return value;
}

Vidare

  • TypeScript Deep Dive-dokumentation

Svar #2

Prova detta

functionB(): string {
   return this.functionA().then(value => ... );
}

Relaterade artiklar