w***@qq.com
w***@qq.com
  • 发布:2021-11-17 12:05
  • 更新:2021-11-18 12:27
  • 阅读:532

【报Bug】clientDB前端API,同时发送多条数据库请求multi-send接口报错

分类:uniCloud

产品分类: uniCloud/App

示例代码:
        onLoad:async function (e) {  
            const bannerQuery = db.collection('opendb-banner').getTemp() // 这里使用getTemp不直接发送get请求,等到multiSend时再发送  
            const noticeQuery = db.collection('config').getTemp()  
            const res = await db.multiSend(bannerQuery,noticeQuery)  
            console.log(res);  
            },  

操作步骤:
        onLoad:async function (e) {  
            const bannerQuery = db.collection('opendb-banner').getTemp() // 这里使用getTemp不直接发送get请求,等到multiSend时再发送  
            const noticeQuery = db.collection('config').getTemp()  
            const res = await db.multiSend(bannerQuery,noticeQuery)  
            console.log(res);  
            },  

预期结果:
// 上述请求返回以下结构  
res = {  
  code: 0, // 请求整体执行错误码,注意如果多条查询执行失败,这里的code依然是0,只有出现网络错误等问题时这里才会出现错误  
  message: '', // 错误信息  
  dataList: [{  
    code: 0, // bannerQuery 对应的错误码  
    message: '', // bannerQuery 对应的错误信息  
    data: [] // bannerQuery 查询到的数据  
  }, {  
    code: 0, // noticeQuery 对应的错误码  
    message: '', // noticeQuery 对应的错误信息  
    data: [] // noticeQuery 查询到的数据  
  }]  
}  

实际结果:
11:57:01.700 [本地调试]"收到clientDB multiSend请求:表名:opendb-banner;表名:config"   
11:57:01.729 [本地调试]TypeError: Cannot read property 'split' of undefined  
11:57:01.729 [本地调试]    at C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\uni-curd\index.js:1:15114  
11:57:01.741 [本地调试]    at Array.forEach (<anonymous>)  
11:57:01.742 [本地调试]    at getUsedActionList (C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\uni-curd\index.js:1:15078)  
11:57:01.754 [本地调试]    at t.exports (C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\uni-curd\index.js:1:206953)  
11:57:01.754 [本地调试]    at Object.exports.main (C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\index.js:1:77)  
11:57:01.764 [本地调试]    at u (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:1548)  
11:57:01.764 [本地调试]    at h (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:2443)  
11:57:01.777 [本地调试]    at uniCloudSecret (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:7098)  
11:57:01.788 [本地调试]    at module.exports (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:7122)  
11:57:01.797 [本地调试]    at module.exports.exec (C:\D\HBuilderX\plugins\unicloud\server\controller\cloudfunctions.js:1:1416)  

bug描述:

平台:阿里云服务空间
HBuilderX版本:3.2.12.20211029
预览版本:H5,APP-NVUE
https://uniapp.dcloud.net.cn/uniCloud/clientdb?id=multi-send
按照这个文档说明写的demo都跑不起来。。

        onLoad:async function (e) {  
            const bannerQuery = db.collection('opendb-banner').getTemp() // 这里使用getTemp不直接发送get请求,等到multiSend时再发送  
            const noticeQuery = db.collection('config').getTemp()  
            const res = await db.multiSend(bannerQuery,noticeQuery)  
            console.log(res);  
            },  

然后报错。。。

11:57:01.700 [本地调试]"收到clientDB multiSend请求:表名:opendb-banner;表名:config"   
11:57:01.729 [本地调试]TypeError: Cannot read property 'split' of undefined  
11:57:01.729 [本地调试]    at C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\uni-curd\index.js:1:15114  
11:57:01.741 [本地调试]    at Array.forEach (<anonymous>)  
11:57:01.742 [本地调试]    at getUsedActionList (C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\uni-curd\index.js:1:15078)  
11:57:01.754 [本地调试]    at t.exports (C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\uni-curd\index.js:1:206953)  
11:57:01.754 [本地调试]    at Object.exports.main (C:\D\HBuilderX\plugins\unicloud\internal-functions\DCloud-clientDB\index.js:1:77)  
11:57:01.764 [本地调试]    at u (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:1548)  
11:57:01.764 [本地调试]    at h (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:2443)  
11:57:01.777 [本地调试]    at uniCloudSecret (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:7098)  
11:57:01.788 [本地调试]    at module.exports (C:\D\HBuilderX\plugins\unicloud\aliyun\serve.js:1:7122)  
11:57:01.797 [本地调试]    at module.exports.exec (C:\D\HBuilderX\plugins\unicloud\server\controller\cloudfunctions.js:1:1416)  
2021-11-17 12:05 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

卸载HBuilderX内的 uniCloud调试插件再安装试试

  • w***@qq.com (作者)

    没用,试过了重装HBuilderX都没用。。uniCloud调试插件版本号:2.0.13-2021102914

    2021-11-18 16:58

  • w***@qq.com (作者)

    不过连接云端云函数调试确实没问题。。只是本地云函数调试会出现这个问题

    2021-11-18 17:10

  • DCloud_uniCloud_WYQ

    回复 w***@qq.com: alpha版本已修复此bug,可以更新到最新alpha看下

    2021-11-18 20:48

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