javascript - Kako mogu deklarirati funkciju kao asinhronu u sučelju?
Imam sučelje i klasu koja implementira metode, do sada nisam pronašao rješenje za svoj problem. Imam funkciju definiranu myAsyncFunction() u sučelju i želim je učiniti async:
export interface State {
state: Class;
myAsyncFunction(): any;
}
Odgovor #1
Za pozivatelja, asinkronu funkciju je samo funkcija koja vraća obećanje:
export interface State {
state: string;
myAsyncFunction(): Promise<any>;
}
const state : State = {
state: 'foo',
myAsyncFunction: async () => 'bar'
};
Odgovor #2
TypeScriptu nije važno koristi li funkcija ključnu riječ async. Bitno mu je samo da jest funkcija, koje argumente prima i koja je vrijednost koju vraća.
Jedino značenje ključne riječi async u tom kontekstu je da funkcija vraća obećanje … koje će odgovarati any.
