没能生成出微信菜单,大家帮忙瞧瞧 T.T

来源:

JaxChu

2016-05-17

第五章 5.4 生成菜单中生成微信菜单中...

报错:

Unhandled rejection TypeError: Cannot read property 'then' of undefined

573ad58b0001ef6c05000313.jpg

573ad58b0001239a05000303.jpg

573ad58b000159cc05000303.jpg


写回答

3回答

Scott

2016-05-18

看一下是不是这个问题导致的:http://coding.imooc.com/learn/questiondetail/70.html


fetchAccessToken 需要拿到一个 promise


Wechat.prototype.fetchAccessToken = function() {
  var that = this
  return this.getAccessToken()
    .then(function(data) {
      try {
        data = JSON.parse(data)
      }
      catch(e) {
        return that.updateAccessToken()
      }
      if (that.isValidAccessToken(data)) {
        return Promise.resolve(data)
      }
      else {
        return that.updateAccessToken()
      }
    })
    .then(function(data) {
      that.saveAccessToken(data)
      return Promise.resolve(data)
    })
}


0
3
JaxChu
非常感谢!
2016-06-02
共3条回复

JaxChu

提问者

2016-06-01

有木有人看看啊?找不出问题不安心,代码已push到github上,求搭救。

0
0

theathea

2016-05-23

可能是因为Wechat构造方法调用时机的问题。具体原因我还没有找到。

你可以试着把。

wechatApi.deleteMenu().then(function(data) {

                return wechatApi.createMenu(menu)

            }).then(function(msg) {

                console.log('after createMenu-->', msg)

            })

这个调用放到subscribe事件中执行。

然后取消关注再进入就有了。

我和你报了同样的错误,这样改完就ok了。

详细的原因谁发现后可用说一声。


0
3
_潇潇暮雨
回复
JaxChu
https://github.com/zhuayu/wechat/blob/master/wechat/wechat.js#L72前面加个return,老师在5-8的大约10:45的时候把坑填了.
2016-06-01
共3条回复

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程