wechat-api icon indicating copy to clipboard operation
wechat-api copied to clipboard

AccessToken,TicketToken错误回调

Open shengbeiniao opened this issue 9 years ago • 3 comments

API文档里,错误回调返回return callback(err),如果更改为return callback(null,null),就可以在accessToken不存在的情况下,调用getAccessToken方法。 cvi _ ol5s3g rc4 b8z8

shengbeiniao avatar Jan 12 '16 09:01 shengbeiniao

  • var api = new API('appid', 'secret', function (callback) {
    • // 传入一个获取全局token的方法
    • fs.readFile('access_token.txt', 'utf8', function (err, txt) {
    • // if (err) {return callback(err);} if (err) {return callback(null,null);}
    • callback(null, JSON.parse(txt));
      
    • });
    • }, function (token, callback) {
    • // 请将token存储到全局,跨进程、跨机器级别的全局,比如写到数据库、redis等
    • // 这样才能在cluster模式及多机情况下使用,以下为写入到文件的示例
    • fs.writeFile('access_token.txt', JSON.stringify(token), callback);
    • });

shengbeiniao avatar Jan 12 '16 09:01 shengbeiniao

这个地方有问题吗? 没有token就需要刷新

JacksonTian avatar Jan 12 '16 09:01 JacksonTian

的确如果按文档写: if (err) {return callback(err);} 就不会去调用 function (token, callback) {...} 所以永远都不会去缓存这个 token.

改为 if (err) {return callback(null,null);} 就可以,虽然还没读懂,谢谢 @shengbeiniao

flight9 avatar Feb 27 '18 03:02 flight9