小程序
小游戏
企业微信
微信支付
扫描小程序码分享
使用开发者工具,本地调试云函数,使用
const wxContext = cloud.getWXContext()
let openid = wxContext.OPENID;
有时会出现openid 为undefined
12 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
如果是模拟云函数调云函数,那是没有的,只有小程序端调云函数才有
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
同样遇到这个问题!有时候概率挺高的
emmmm……不知道现在回答还有没有用,我自己不是很熟悉云函数,刚刚学的,如果是直接
return cloud.getWXContext().OPENID
可以改成return await cloud.getWXContext().OPENID
await可以理解成等待数据返回,因为请求需要一段时间,但是return和let都是瞬间执行的,可能数据还没有请求到就执行赋值命令了,当然是undefined。我猜测有时候为undefined就是网络跟不上了,楼主看看类比过看看在哪里加个await?
有不正确的地方欢迎指出
我这儿是本地调试调用间隔太短会拿不到 wxContext.OPENID,上传到云后则不会有这个问题。。
遇到了相同的问题,
看看你们跟我是不是一样的情况,复现步骤:
1.打开云函数本地调试,
2.正常使用,有openid
3.下班, 啥也不关,开发者工具,跑起来的项目,云函数本地调试等,然后回家调戏老婆,调戏完用家里电脑捣腾一下代码,此时会开发者工具会要求你扫码登录,直到此时都一切正常。
4.第二天上班,打开办公室电脑,继续昨天的活儿,这个时候开发者工具会要求你再次扫码,不知道是因为token有效期过了还是因为步骤3中在另一台电脑登录了。总而言之重新登录了
5.注意,此时云函数本地调试从未关闭过,经过重新登录,就拿不到openid了,只需要关闭一下本地调试,再次打开就好了
如果因为没老婆无法复现步骤3的,可以调戏别人老婆。
问题依然存在
把let改成var试试,let会限制使用范围,超出范围会报undefined
我是在做联表时遇到报500的问题,后来发现直接拿用户openid需要先定义const wxContext = cloud.getWXContext()
还有一种情况 是小程序更换openid
cloud.getWXContext()返回的openid还是上一个失效的 这怎么办呢。。。。
问题依然坚挺
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
如果是模拟云函数调云函数,那是没有的,只有小程序端调云函数才有
return cloud.getWXContext().OPENID
可以改成return await cloud.getWXContext().OPENID
await可以理解成等待数据返回,因为请求需要一段时间,但是return和let都是瞬间执行的,可能数据还没有请求到就执行赋值命令了,当然是undefined。我猜测有时候为undefined就是网络跟不上了,楼主看看类比过看看在哪里加个await?
有不正确的地方欢迎指出
同样遇到这个问题!有时候概率挺高的
emmmm……不知道现在回答还有没有用,我自己不是很熟悉云函数,刚刚学的,如果是直接
return cloud.getWXContext().OPENID
可以改成return await cloud.getWXContext().OPENID
await可以理解成等待数据返回,因为请求需要一段时间,但是return和let都是瞬间执行的,可能数据还没有请求到就执行赋值命令了,当然是undefined。我猜测有时候为undefined就是网络跟不上了,楼主看看类比过看看在哪里加个await?
有不正确的地方欢迎指出
我这儿是本地调试调用间隔太短会拿不到 wxContext.OPENID,上传到云后则不会有这个问题。。
遇到了相同的问题,
看看你们跟我是不是一样的情况,复现步骤:
1.打开云函数本地调试,
2.正常使用,有openid
3.下班, 啥也不关,开发者工具,跑起来的项目,云函数本地调试等,然后回家调戏老婆,调戏完用家里电脑捣腾一下代码,此时会开发者工具会要求你扫码登录,直到此时都一切正常。
4.第二天上班,打开办公室电脑,继续昨天的活儿,这个时候开发者工具会要求你再次扫码,不知道是因为token有效期过了还是因为步骤3中在另一台电脑登录了。总而言之重新登录了
5.注意,此时云函数本地调试从未关闭过,经过重新登录,就拿不到openid了,只需要关闭一下本地调试,再次打开就好了
如果因为没老婆无法复现步骤3的,可以调戏别人老婆。
问题依然存在
把let改成var试试,let会限制使用范围,超出范围会报undefined
我是在做联表时遇到报500的问题,后来发现直接拿用户openid需要先定义const wxContext = cloud.getWXContext()
还有一种情况 是小程序更换openid
cloud.getWXContext()返回的openid还是上一个失效的 这怎么办呢。。。。
问题依然坚挺