sonicsunsky
sonicsunsky
  • 发布:2021-11-25 09:58
  • 更新:2022-08-29 16:09
  • 阅读:3317

uni-app uni.addInterceptor('request')拦截器只调用一次api接口发现拦截器会被触发很多次

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Mac big sur 11.6.1

HBuilderX类型: Alpha

HBuilderX版本号: 3.2.15

第三方开发者工具版本号: 1.05.2110290

基础库版本号: 2.21.0

项目创建方式: HBuilderX

示例代码:
uni.request({  
    url: 'request/login', //仅为示例,并非真实接口地址。  
    success: (res) => {  
        console.log(res.data);  
        // 打印: {code:1,...}  
    }  
});  

uni.addInterceptor('request', {  
  invoke(args) {  
    // request 触发前拼接 url   
    args.url = 'https://www.example.com/'+args.url  
    console.log(args.url)  
  },  
  success(args) {  
    // 请求成功后,修改code值为1  
    args.data.code = 1  
  },   
  fail(err) {  
    console.log('interceptor-fail',err)  
  },   
  complete(res) {  
    console.log('interceptor-complete',res)  
  }  
})

操作步骤:

只调用一个api接口一次,然后在invoke函数里打印args.url会发现被触发了很多次,打印多次重复结果

预期结果:

只打印一次结果console.log(args.url)

实际结果:

打印了很多次重复结果console.log(args.url)

bug描述:

uni-app uni.addInterceptor('request')拦截器,当前页面只调用了一个api接口发现拦截器被触发很多次

2021-11-25 09:58 负责人:无 分享
已邀请:
8***@qq.com

8***@qq.com

请问这个拦截器配置在什么地方能使全局的请求都被拦截到呢?

香蕉上的水滴滴

香蕉上的水滴滴

没人给解释下原因吗?
每次请求都会比上一次多打印一次

  • 75830568

    得弄成全局拦截,每次调用都拦截了会重复打印

    2022-09-02 15:43

该问题目前已经被锁定, 无法添加新回复