Graphql中前段apollo请求过程中缓存的问题,选择性使用缓存


在请求的过程中往往数据参数没有发生变化的时候都是使用缓存中的内容的。

所有怎么通过按钮请求后台的时候使用后台的数据呢

Graphql

请求

import gql from 'graphql-tag'

// this.$router.push({ name: 'roleInfo',query: { roleId: row.id, name: row.name }})

       this.currentUser = row

       this.Select = row.username

       // 获取当前所有queue的列表数据

       var getQueueByUserName = gql`

                          query ($userName:String!) {

                           user:userQueue(name: $userName){

                              username

                              queues{

                                id

                              }

                          }

                          queues{

                             id

                             name

                          }

                        }`

       this.$apollo.query({

         query: getQueueByUserName,

          variables: {

           userName: this.Select

         },

         fetchPolicy: 'network-only'

       }).then(res => {

         // this.Parse(res.data.queues)

         this.allQueues = res.data.queues.map((item, index, arr) => {

           return { key: item.id, label: item.name }

         })

         for (var queue in res.data.user.queues) {

           this.queueKeys.push(res.data.user.queues[queue].id)

         }

       }).catch(err => {

         console.log(err)

       })

       this.dialogQueueTableVisible = true

 

缓存

放在

fetchPolicy "cache-first" |"cache-and-network" | "network-only" |"cache-only" | "no-cache" | "standby".

如下的改动

       this.$apollo.query({

         query: getQueueByUserName,

         variables: {

           userName: this.Select

         },

         fetchPolicy: 'network-only'

       })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值