const abc = uniCloud.importObject('gbrms')
module.exports = {
_timing: async function () {
console.log("定时启动-数据更新");
await abc.get_szfList()
console.log("定时启动-动态更新");
}
}
无论function里面写的是什么代码、无论是否需要调用其他云对象、无论是否需要云数据都会报下面这个错。我Nodejs是12的,HBX是3.8.7,电脑是Win11,不知道是我哪里写的不对了。
22:58:42.369 [本地运行]Error: Method name required
22:58:42.370 [本地运行] at processTicksAndRejections (node:internal/process/task_queues:96:5)
22:58:42.370 [本地运行] at async D:\HBuilderX\HBuilderX\plugins\unicloud\aliyun\index.js:1:23523
3 个回复
a***@foxmail.com (作者)
无论是本地调试、还是本地运行、还是云端运行都会报这个错。
DCloud_uniCloud_VK
看下这个云对象文档 https://doc.dcloud.net.cn/uniCloud/rundebug.html#run-obj-param
a***@foxmail.com (作者)
我按照提示添加了clientInfo,const clientInfo = {
uniPlatform: 'web',
clientIP:'127.0.0.1',
userAgent:'HBuilderX',
source:'client',
}
但是如果按文档提示的那样写个add:function,去参数配置里写上调用add,无论是本地运行、本地调试运行、还是云端运行都可以用,但是换成_timing:function,去参数配置里就不能调用,无论是本地、还是云端都会报错,Method name required
2024-03-08 21:25
a***@foxmail.com (作者)
[本地运行]Error: Forbidden, _timing is a private method
2024-03-08 21:30
a***@foxmail.com (作者)
然后把obj.js里的_timing 改成自定义函数timing(没有下划线),然后再到参数配置里调用这个自定义函数,就完全可以跑通所有逻辑。所以问题的核心就在于这个 定时函数_timing,他为啥无论本地还是云端都会报错没有定义。
2024-03-08 22:13
DCloud_uniCloud_VK
回复 a***@foxmail.com: 本地不可以直接运行 _ 开头的函数, 这些函数都有特定的触发条件
2024-03-11 11:32
1***@qq.com
回复 a***@foxmail.com: 我也碰到了这个问题,按照你这个方法确实可以解决,这算是他们uniCloud的bug?
2024-04-18 11:22
DCloud_uniCloud_VK
回复 1***@qq.com: 不是bug,本地不可以直接运行 _ 开头的函数, 这些函数都有特定的触发条件
2024-04-18 11:38
h***@gmail.com - I just learn about a month, still working hard to digest
我都有同样问题,还末找到解决办法