Мой вычисленный компонент выглядит следующим образом:
export default {
computed: {
dataDoctorPerPage: async function () {
const start = this.pagination.page * this.pagination.rowsPerPage - this.pagination.rowsPerPage;
const end = start + this.pagination.rowsPerPage - 1;
const doctors = this.dataDoctor
const newDoctors = {}
let key = 0
for(let item in doctors) {
if(key >= start && key <= end) {
for (let i = 0; i < doctors[item].length; i++) {
const params = {
hospitalId: doctors[item][i].hospital_id,
doctorId: doctors[item][i].doctor_id,
}
await this.getDataSchedule(params) /* call async */
// console.log(this.dataSchedule)
}
newDoctors[item] = doctors[item]
}
key++
}
return newDoctors
}
}
}
Если вызываемый dataDoctorPerPage запустит скрипт,
await this.getDataSchedule(params)
вызовет async / api через хранилище vuex. Моя проблема здесь. когда я звоню await this.getDataSchedule(params)
, он зацикливается без остановки
Мой магазин Vuex выглядит так:
const actions = {
async getDataSchedule ({ commit }, payload) {
const result = await api.getDataSchedule(payload)
const items = result.data
commit('setDataSchedule', { items: items })
},
}
Как я могу решить эту проблему?
Не может ли незапустить async в computed?