Vuex 吸气剂延迟

时间:2021-02-03 08:24:52

标签: vuex

我正在使用 Vuex 从 Youtube 数据 api 获取数据,以便我通过提交状态来设置动态播放列表 ID 当我提交和调度一个动作时,getter 值不会根据提交的状态 playlistId 进行更新

     const state = {
       id: '',
       list: []
      }
  
     const getters = {
       allUsers: (state) => state.users,
       allVideos: (state) => state.list,
     }
  
     const actions = {
       getVideos({ commit } , id) {
       state.id = id
       axios
       .get('https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&channelId=Channel_idplaylistId='+state.id+'&key=API_KEY')
       .then(video => {
       commit('SET_VIDEO', video)
      })
     }
    }
  
     const mutations = {
       ChangeId (state, i) {
         state.id = i
       },
       SET_VIDEO(state, list) {
         state.list = list
       }
     }

在我的组件中

    mounted : function(){
        this.$store.commit('ChangeId', DynamicId )
        this.$store.dispatch("getVideos", DynamicId )
        .then(() => {
            setTimeout(() => this.videos = this.$store.getters.allVideos.data.items , 1000); 
        })  
     },</code>

我尝试超时 1000 毫秒 它在 localhost 中工作正常,但在低网络速度下失败

0 个答案:

没有答案