【发布时间】:2021-05-23 21:59:18
【问题描述】:
我有以下 Vue 方法。单击编辑按钮时,会调用onEditUserPermissions。该函数还获取this.fetchUserPermissions。请求确实完成了,并且收到了响应。
methods:{
onEditUserPermissions(item){
this.userCheckbox = true
let user = item.id
this.selectedUser = item.id;
this.fetchUserPermissions(user)
for (let x of this.assignedUserPermissions){
console.log('assigned',x.id)
this.selectedUserItems.push(x.id)
}
this.editedIndex = 'users'
this.dialog = true
},
fetchUserPermissions(user){
this.$axios.get('/permissions/assigned/user/'+user)
.then(res => {
this.assignedUserPermissions = res.data
})
},
}
当我第一次单击时,for of 循环不起作用,它不会迭代,但是,当再次单击时,它会起作用。我可能离项目太近了,但谁能告诉我为什么?
【问题讨论】:
-
请分享更多细节 - 您是否确保在迭代该数组之前完成对后端的请求?
-
@NicoHaase 好的,我编辑了我的问题,但是是的,请求完成并收到了响应。
-
我的问题是:您如何确保请求在 迭代该数组之前完成? axios是基于promise的客户端,所以
fetchUserPermissions方法不会等待响应
标签: javascript vue.js ecmascript-6 vue-component nuxt.js