Burger
Burger
  • 发布:2024-02-21 09:43
  • 更新:2024-02-21 11:24
  • 阅读:113

uniapp接口后台记录同一秒调用两次

分类:uni-app

uni.request方法封装的接口后台日志显示同一秒调用两次,前端已经做了防抖,是什么问题

2024-02-21 09:43 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

你debuger检查一下 或者吧能复现这个问题的demo发出来

  • Burger (作者)

    这是小概率事件,可能几百条数据才出现一两条,后台日志就显示的同一时间调用两次,基本可以排除是前端点击导致的问题

    2024-02-21 11:33

  • 爱豆豆

    回复 9***@qq.com: 有可能防抖函数的问题 还是要排查一下

    2024-02-21 11:40

  • Burger (作者)

    回复 爱豆豆: export const debounce = function(fn, wait = 5000, immediately = true) {

    let timer;

    return function() {

    let that = this,

    args = arguments;

    if (timer) clearTimeout(timer);

    if (immediately) {

    let callNow = !timer;

    timer = setTimeout(() => {

    timer = null;

    }, wait);

    if (callNow) fn.apply(that, args);

    } else {

    timer = setTimeout(() => {

    fn.apply(that, args);

    }, wait)

    }

    }

    }


    这个是防抖函数,控制台打印这个是没问题的,后台日志时间精确到毫秒都是一样的,不能是前端这边点击的问题

    2024-02-21 14:04

套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

1.可以检查下网,当网络不稳定时,接口请求可能会失败,uniapp会默认重试

  1. 可以打日志看下是不是前端其他操作调用了两次呢
    3.断点下后台,或者postman试试是不是后台的问题,之前也遇到过后台日志配的打两遍的问题)
  • Burger (作者)

    前端没有其他的操作,就是一个点击提交表单事件。而且这个事情是小概率事件。uniapp可以关闭默认重试请求接口吗

    2024-02-21 11:32

要回复问题请先登录注册