微信小程序填坑-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倍,也算一个好处吧(只能这么自我安慰了...哈哈)

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云飞学编程

Python学习,还在用正则或者bs4做爬虫吗?来试试css选择器吧

之前写的一些爬虫都是用的正则、bs4、xpath做为解析库来实现,如果你对web有所涉及,并且比较喜欢css选择器,那么就有一个更适合的解析库—— PyQuer...

11320
来自专栏数据之美

Chrome 自动化交互利器:用 tampermonkey 向页面注入自定义 Javascript

1、背景 经常会遇到类似下面的这种网站,查个信息得填一堆信息,奇葩的是文本框也不让复制粘贴,而且浏览器还不自动保存,这样每次查询或者超时退出都得重新手动填写一遍...

55570
来自专栏冰霜之地

大话大前端时代(一) —— Vue 与 iOS 的组件化

今年大前端的概念一而再再而三的被提及,那么大前端时代究竟是什么呢?大前端这个词最早是因为在阿里内部有很多前端开发人员既写前端又写 Java 的 Velocity...

19630
来自专栏Albert陈凯

2018-11-07 史上最全Vim快捷键键位图 -- 入门到进阶史上最全Vim快捷键键位图 -- 入门到进阶

本文所有键位图虽然都不是博主原创,但是所有资源均为博主亲自收集整理。如需全文转载,希望尊重原作者和博主的劳动成果,保留原文链接。 本文所有图片为了方便读者使用均...

9610
来自专栏HT

基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)

今天没有延续上一篇讲的内容,穿插一段小插曲,WebSocket 实时数据通讯同步的问题,今天我们并不是很纯粹地讲 WebSocket 相关知识,我们通过 Web...

25770
来自专栏Coding迪斯尼

Reactjs+BootStrap开发自制编程语言Monkey的编译器:创建简易的页面IDE

19420
来自专栏vue学习

11、组件入门及写个首页头部组件

前言:项目准备工作说了很久,不知道大家学会了没有?今天开始我们开始正式搭建页面,先从首页开始,在搭建页面的过程中,我也会将vue的知识点在其中穿插讲解,但是你最...

13820
来自专栏企鹅号快讯

5 款最酷的 Linux 终端模拟器

Xiki 首先我要推荐的第一个终端是 Xiki。 Xiki 是 Craig Muth 的智慧结晶,他是一个天才程序员,也是一个有趣的人(有趣在此处的意思是幽默,...

503100
来自专栏数据小魔方

这个包绝对值得你用心体验一次!

这一段时间在研究R里面的数据抓取相关包,时不时的能发掘出一些惊喜。 比如今天,我找到了一个自带请求器的解析包,而且还是嵌入的pantomjs无头浏览器,这样就不...

31660
来自专栏java学习

面试题41(String str1 = “abc”,“abc”分配在内存哪个区域)

公告通知 String str1 = “abc”,“abc”分配在内存哪个区域? ---- A 堆 B 栈 C 字符串常量区 D 寄存器 考点:考察求职者对...

31840

扫码关注云+社区

领取腾讯云代金券