收藏
回答

【转】微信小程序填坑-Android真机环境下的bluebird.js




今天,有朋友反映说,我的微信小程序的例子在andriod真机环境下运行出错,研究调试了半天,发现原来是使用的bluebird.js(Promise实现库)导致的。

由于小程序框架最近的更新中移除了原生Promise的支持,喜欢使用Promise特性的开发者都会去引入其他的第三方Promise库来替代,bluebird.js是一个性能不错,特性又丰富的Promise实现库,所以大家都爱用。不过,由于bluebird.js中有些代码还是用到了document对象上的方法,在iOS的真机JavascriptCore环境中,貌似这些代码并不会被触及到,而在Android真机环境中,就会被执行到这块代码,导致了错误的发生。

怎么办呢?找找其他能用的库吧,Promise实现库还算比较多的!NPM上搜搜就有。其中es6-promise是另一个被开发者下载使用比较多的库。通过npm命令我们可以很方便的将它下载下来:

npm install es6-promise

然后在下载下来的文件夹下,把dist目录中的es6-promise.js或es6-promise.min.js复制到你的微信小程序项目中,替换原来的bluebird.js就行啦,标准的Promise API一个都不会少。

而且es6-promise的代码文件体积比bluebird小个3,4倍,也算一个好处吧(只能这么自我安慰了...哈哈)

希望这篇文章能解决同样遇到这个问题的朋友。




                                                                                                                                  原作者:一斤代码(简书作者)       原文链接:http://www.jianshu.com/p/d29746bf29e3

最后一次编辑于  2016-11-29
回答关注问题邀请回答
收藏

3 个回答

  • Ltt
    Ltt
    2017-04-12

    测试

    2017-04-12
    有用
    回复
  • 卷毛C
    卷毛C
    2017-02-14

    感谢,问题已解决!在IOS下遇到bluebird.js的then不往下走的问题,使用楼主的方法,解决了问题!


    2017-02-14
    有用
    回复
  • 黑芝麻的糊
    黑芝麻的糊
    2017-02-09

    谢谢!

    2017-02-09
    有用
    回复
登录 后发表内容