1

mit:visuellen Code d.ts definieren Versprechen lösen Typ

// api.js 
export function getLayout(){ 
    return axios.get('/api/layout').then(res => res.data) 
} 
// api.d.ts 
declare interface JSONResponse { 
    meta: object, 
    data: Array<Field> 
} 
export declare function getLayout():Promise<any> // Promise<any>.then<JSONResponse>?? 

ich will VSCode folgende

getLayout().then(json => { 
    json.data // suggest data is of type Array<Fields> 
}) 

ist dies möglich vorschlagen?

Antwort

1

Wenn ich richtig verstehe, dann wird dies Ihre Anforderung erfüllen. Hier

// api.d.ts 
declare interface JSONResponse { 
    meta: object, 
    data: Array<Fields> 
} 

export declare function getLayout(): Promise<JSONResponse> 

// client.ts 
var data = getLayout().then((json) => { 
    json.data; 
}); 

ist ein Bild des Vorschlages im Typoskript Spielplatz:

enter image description here

+0

Ich habe versucht, dass das erste Mal, und ich war nicht der Vorschlag bekommen. Es funktioniert jetzt gut. Seltsam. –

+1

es funktionierte nicht, weil der echte getLayout (getLayout (name: string): Promise ) erwarteten Parameternamen. Durch den Aufruf ohne Namen funktionierte das Intellisense nicht richtig (oder wie ich es erwartet hatte) –

Verwandte Themen