小程序请求进口在哪_获取JavaScript异步函数的返回

摘要: 获得JavaScript多线程涵数的回到值 文中给大伙儿共享的是怎样处理获得JavaScript多线程涵数回到值的亲身经历及最终的处理方式,有必须的小伙子伴能够参照下3.promise回调函数涵数简...

获取JavaScript异步函数的返回值       本文给大家分享的是如何解决获取JavaScript异步函数返回值的经历及最后的解决方法,有需要的小伙伴可以参考下

3.promise

回调函数真是个好东西,然后一直这么写代码写了很久。遇到异步就传函数!!后来我知道有promise这一个东西,专门解决由于回调函数引起的问题,又学会了promise:

 script 
function getSomething() {
 var r = 0;
 return new Promise(function(resolve) {
 setTimeout(function() {
 r = 2;
 resolve(r);
 }, 10);
pute(x) {
 alert(x * 2);
getSomething().pute);
 /script 

promise仍然没有放弃回调,只是回调的位置发生了改变。

4.generator

再后来我又学会了generator,知道其有中断函数执行的能力,又做了新的尝试:

 script 
function getSomething() {
 var r = 0;
 setTimeout(function() {
 r = 2;
 it.next(r);
 }, 10);
function *compute(it) {
 var x = yield getSomething();
 alert(x * 2);
var it = compute();
it.next();
 /script 

同步的写法,能实现异步的逻辑,感觉高大上了很多。

5.promise + generator

后来又听说promise加generator,才是异步的完美方式,赶紧用高射炮打蚊子(这个例子,还不足以说出二者在一起用的好处):

 script 
function getSomething() {
 var r = 0;
 return new Promise(function(resolve) {
 setTimeout(function() {
 r = 2;
 resolve(r);
 }, 10);
function *compute() {
 var x = yield getSomething();
 alert(x * 2);
var it = compute();
it.next().value.then(function(value) {
 it.next(value);
 /script 

6.async

心想这算是够屌的吧,后来又听说es7给出了终极方案:async。

作为爱学习的少年,心想自己不能被落下:

 script 
function getSomething() {
 var r = 0;
 return new Promise(function(resolve) {
 setTimeout(function() {
 r = 2;
 resolve(r);
 }, 10);
pute() {
 var x = await getSomething();
 alert(x * 2);
compute();
 /script 

到这里终于长出了一口气。

后记:

上面所有的例子,在最新chrome上都可以运行。一个个小例子,点了点几个名词。

当然也只是“点”而已,如果能提供读者深入学习相关知识点的一个trigger,那么老姚就心满意足了。

以上就是老姚童鞋给我们分享的全部内容了,希望对大家理解JavaScript异步函数能够有所帮助




联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503

技术支持:html网页模板