getCredentials(){ return wepy.request({ url: 'cos/sts' , method: "get" , }) } async initCos(){ let result try { result = await this .getCredentials() } catch (error) { console.log(error); $Toast({ content: '出错了哦☹️' , type: 'error' }); } var cos = new COS({ // ForcePathStyle: true, // 如果使用了很多存储桶,可以通过打开后缀式,减少配置白名单域名数量,请求时会用地域域名 getAuthorization: function (options, callback) { // 异步获取签名 var data = result.data; var credentials = data.credentials; callback({ TmpSecretId: credentials.tmpSecretId, TmpSecretKey: credentials.tmpSecretKey, XCosSecurityToken: credentials.sessionToken, ExpiredTime: data.expiredTime, // SDK 在 ExpiredTime 时间前,不会再次调用 getAuthorization }); } }); this .cos = cos } |
这个代码有错吗?为什么开发工具不执行,也不能调试,打印出result 创建cos实例的时候回调函数直接不执行
这边试了下能打印出 result 和 调试的
然后看你的截图,你说的实例化的 cos 对下没有获取到参数,这边建议你再看下 cos 的文档 https://cloud.tencent.com/document/product/436/12260。目前从你给的代码片段看你是通过 getAuthorization 去获取签名 secretid 的值,而不是说直接前端传固定的签名,来创建 cos 实例(直接创建时传签名,实例才会有)。目前你使用的方式是通过 getAuthorization 异步去获取签名。这边你可以参考文档在下面加一段获取内容的调用代码,就会发现在获取时会调用 getAuthorization
cos上传这个我再看下,但是这个调试器,为什么调试的参数都是乱七八糟的东西
cos上传问题已经解决,但是这个开发工具,每次调试都无法准确的定位错误和查看断点处参数的值
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
https://developers.weixin.qq.com/s/KKKuNbm17s9w
用这个代码片段能复现问题么?我这边是可以执行的
可以的,我这个开发工具完全可以复现,Mac 10.14.5 开发工具版本:1.02.1906141
这边试了下,你的 demo 的请求地址获取不到数据,然后需要等 request timeout 才能看到进一步的日志信息,
如果换成可以访问的请求地址,我试了下是能在调试台看到 console 的信息
这边你自己测的 wx.request 的 url 是否是没问题的?
不好意思,今天服务器出现点小问题,才修复. 关于这个问题,我在开发工具中callback回调不执行,无论是正常执行还是调试