开发工具bug
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实例的时候回调函数直接不执行
2 回复
这边试了下能打印出 result 和 调试的
然后看你的截图,你说的实例化的 cos 对下没有获取到参数,这边建议你再看下 cos 的文档 https://cloud.tencent.com/document/product/436/12260。目前从你给的代码片段看你是通过 getAuthorization 去获取签名 secretid 的值,而不是说直接前端传固定的签名,来创建 cos 实例(直接创建时传签名,实例才会有)。目前你使用的方式是通过 getAuthorization 异步去获取签名。这边你可以参考文档在下面加一段获取内容的调用代码,就会发现在获取时会调用 getAuthorization