2
这可能更像是一个TypeScript问题。我有一个REST方法,通过Vue动作在我的http库中调用。我希望resolve()方法返回类型数组,但除非我在action.ts“then”方法内进行转换,否则我会收到'.length不存在于{}类型中'Axios,打字稿和承诺
Is有没有办法不必将结果重新转换为我的类型数组,因为它已经在http.ts方法中完成了?
http.ts(局部的)
getapps() {
return new Promise((resolve, reject) => {
this.axios.post('/account/getapps').then((response) => {
resolve(response.data as DomainAppType[]);
}, (err) => {
reject(err);
});
});
}
action.ts
import { DomainAppType } from '../models/domainApps';
var actions = {
LOGIN: function ({ commit }, params) {
http.getapps(params.email, params.password).then(apps => {
var appList = <DomainAppType[]>apps;
console.log(appList.length);
}).catch((err) => {
console.log(JSON.stringify(err));
})
}
}
export default actions
非常完美,非常感谢。我真的没有想到需要在TS中设置返回类型,而是在考虑在该操作中投入返回类型,但显然这要好得多。再次感谢! – Feech