获取access_token超过两个小时,出现Promise { <pending> }

来源:1-1 课程导学

宝慕林5110182

2021-12-07

老师,你好!遇到问题了。在9-4 接口调用凭证access_token的缓存与更新 这一课遇到设置时间超过两个小时,运行提示为Promise { },
和这位同学遇到的情况一样,https://coding.imooc.com/learn/questiondetail/kxNyDPbDB2zXGgb7.html
但我没有解决。加上return也解决不了。我将请求改成axios也出现这种情况。现在的情况是将时间调到2小时以上,运行node utils/getAccessToken.js,就出现上面提示,token值打印不出来,但“access_token.json”里面的“createTime”值已经刷新。看了几次视频,发现老师其实也出现了这个问题,图片描述
这是视频截图,上面已经出现了Promise { }的提示,至于红框里面的token值是代码中第12行的打印输出,而不是console.log(getAccessToken())的输出。我后面的内容还没有看,不知道有没有影响。希望老师指点。

写回答

1回答

谢成

2021-12-08

打印出Promise { <pending> }   是因为Promise是一个异步操作,pending表示执行中的状态。


获取token的这个文件一共有三部分:

获取token并写文件:

//img.mukewang.com/szimg/61b006e609c37c7915100930.jpg

读文件看时间是否过期,过期就更新:

//img.mukewang.com/szimg/61b0071e099397a318641220.jpg

定时更新token:

//img.mukewang.com/szimg/61b0074a09128b7410800290.jpg



0
1
宝慕林5110182
谢谢老师的回复。你列的三部分我都已经OK。包括像你那样5秒更新都没有问题。现在的情况是我将“access_token.json”里面的“createTime”值改为提前一天(即超过两小时),运行node utils/getAccessToken.js,就出现上面提示,token值打印不出来,但“access_token.json”里面的“createTime”值已经刷新。中断后再运行node utils/getAccessToken.js就是正常的,可以打印出token值。再改时间还是出现这个情况。而且我将请求改成axios,也是一样的情况。前面更新token值,定时器都ok,就是超过两小时过不去,这个问题卡了我一天多了。
2021-12-08
共1条回复

微信小程序云开发-从0打造云音乐全栈小程序

横跨小程序端、云后端、CMS一站式云开发的小程序全栈课程

1938 学习 · 2768 问题

查看课程