Visual Code d.ts定义Promise解析类型

时间:2017-07-29 22:17:48

标签: typescript visual-studio-code typescript-typings vscode-settings

具有:

// 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>??

我希望VSCode建议以下

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

这可能吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么这将满足您的要求。

// 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;
});

以下是TypeScript游乐场中建议的图片:

enter image description here