d***@dufan.cool
d***@dufan.cool
  • 发布:2023-05-26 22:22
  • 更新:2023-05-29 15:46
  • 阅读:188

为什么操作数据库要自动 showloading??

分类:HBuilder

我在 onLaunch 中请求了数据库,获取用户信息。
在index的onload中请求数据,获取数据。
这个时间真机调试就会报一个错误 hideLoading:fail toast can't be found
我大概理解是在 onlaunch 中的主动操作开始了 showloading 还没有结束,index 页面的 onload 中又开启了 showloading 导致的错误。

请问一下,这个错误要怎么处理??

2023-05-26 22:22 负责人:无 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

如果你是用了云对象的话,import云对象时有一个参数customUI,设为true就不会带进度了

  • d***@dufan.cool (作者)

    customUI 设为 true loading 就没了,可能我们版本不一样吧。

    2023-05-27 14:53

  • DCloud_uniCloud_WYQ

    回复 d***@dufan.cool: 是设为true

    2023-05-29 11:27

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

你用的什么版本的HBuilderX,可以给个能复现问题的示例代码吗?还有运行到了哪端?我这边测试不会报这个错误

  • d***@dufan.cool (作者)

    在onlunch中执行这个代码请求数据库,需要很长时间才能返回,然后同时在首页onload中也请求数据库。这个时间如果不把自动的 showLoading 关闭,就会报那个错误。


    // let that = this  
    let user = uni.getStorageSync('user')
    if (!user) {
    uni.showLoading({
    title: 'init...',
    })
    console.log("本地没有用户信息,从数据库读取")
    uni.getProvider({
    service: 'oauth',
    success: (providerRes) => {
    // console.log(providerRes)
    uni.login({
    provider: providerRes.provider[0],
    onlyAuthorize: true,
    success: async loginRes => {
    // console.log(loginRes)

    const userObj = uniCloud.importObject('userObj', {
    customUI: true
    })
    let dataRes = await userObj.login(loginRes.code,
    providerRes
    .provider[0], id)
    console.log("用户", dataRes)
    this.globalData.user = dataRes
    uni.setStorageSync('user', dataRes)
    console.log("从服务器读取【用户信息】完成")
    uni.hideLoading()
    }
    })
    }
    })
    } else {
    console.log("本地有用户数据,从本地读取")
    this.globalData.user = user
    }

    2023-05-29 11:53

  • d***@dufan.cool (作者)

    你百度查一下hideLoading:fail toast can't be found 这个错误一大片。

    2023-05-29 11:54

  • d***@dufan.cool (作者)

    我这个代码是改过的,把 customUI: true 这个去掉就会报错。

    2023-05-29 11:56

  • d***@dufan.cool (作者)

    开发工具不报,真机报。

    2023-05-29 11:56

  • d***@dufan.cool (作者)

    我认为这个 customUI: true 默认应该打开,不然只要有两个或以上的异步请求就很容易出现这个错误。

    2023-05-29 11:58

  • d***@dufan.cool (作者)

    本来加载数据库是显示这个 "加载中..." 就是很土的方式。 哪个app现在还这么提示加载中... ???

    2023-05-29 12:02

  • DCloud_uniCloud_WYQ

    回复 d***@dufan.cool: 确实是真机才会出现这个报错,其实是不应该出现的,我们在微信社区反馈一下,你如果不需要默认的loading关闭即可

    2023-05-29 14:19

要回复问题请先登录注册