手机版

在微信小程序中使用co处理异步流程

时间:2021-12-17 来源:互联网 编辑:宝哥软件园 浏览:

作者:一斤代码,来自授权地址co是一个基于ES6 Generator特性编写【异步进程同步】的工具库。

Co需要使用Promise特性,所以让我们首先创建一个由Promise处理的异步方法:

函数myAsyncFunc() {返回新的Promise(函数(解析,拒绝){ setTimeout(函数(){ console . log(' myasync function done!');resolve({ data: 'Hello,World' }) },2000);});}然后,如果直接使用这个方法,会如下,然后用/catch回调方法处理调用结果和异常处理:

myAsyncFunc()。然后(function(result){ console . log(result . data);//你好,世界})。catch(函数(err) { //.});如果使用co,它将如下所示:

co(function *){ try { var result=yield myasync func();console . log(result . data);//Hello,World } catch(e){ } });这不就是我们非常熟悉的,更符合逻辑思维习惯的同步写作吗?

关于co的用法,这篇文章我就不详细讲了。感兴趣的朋友可以自行搜索相关信息。今天我要讲的是如何在小程序环境下成功使用co。

1. 开启语言转译选项

为了使用ES6的生成器,为了兼容性,我们必须将ES6的语法降级并翻译成ES5。

微信小程序中使用co来处理异步流程(图1)

打开语言翻译选项。

版权声明:在微信小程序中使用co处理异步流程是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。