2016-10-26 13 views
5

Próbuję użyć pobierania w mojej funkcji asynchronicznej, ale przepływ wyrzuca ten błądCzy istnieje przykład użycia narzędzia pobierania przy użyciu metody flowjs?

Błąd: (51, 26) Przepływ: Obietnica. Ten typ jest niezgodny z unii: podanie typu identyfikatora Promise | Parametr typu T od czekają

jest to kod, który może generować ten błąd:

async myfunc() { 
    const response = await fetch('example.com'); 
    return await response.json(); 
} 

chciałbym wpisać odpowiedź response.json

+0

https://flow.org/try/#0IYZwngdgxgBAZgV2gFwJYHsIwLZkdACgEoYBvAKBiqkxGRgCcBTEAB1qZgF4ZgB3YKnpwmyKAAsCAciYAPYNlYAbJgDoa2KUQDclKs2QIGWfoPrM2HVQCsQmYroC+QA –

+0

I chciałbym wpisać moją odpowiedź: –

+1

tks, świetny kod –

Odpowiedz

4

Możesz albo opisywanie typ zwracany funkcji za pomocą Promise <T> gdzie T jest żądanym typem lub przypisz wynik do tymczasowego lokalnego z jawną adnotacją typu, a następnie zwróć tę lokalną. Typ powrotu funkcji zostanie wówczas wywnioskowany.

Explicit zwracany typ adnotacji:

async myfunc(): Promise<{name: string}> { 
    const response = await fetch('example.com'); 
    return await response.json(); 
} 

Wnioskowany typ zwracany z wyraźnie odnotowany lokalny:

async myfunc() { 
    const response = await fetch('example.com'); 
    const result: {name: string} = await response.json(); 
    return result; 
} 
Powiązane problemy