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