最新消息:文章中包含代码时,请遵守代码高亮规范!

js异步解决方案【原创】

JavaScript lili 88浏览 0评论
js中异步操作的解决方案:
一.callback回调函数
    function log(callback){
         setTimeout(function(){
              console.log(111);
             callback();
         },1000);
     }
     log(function(){console.log(222);});
可以使用回调函数来实现异步操作,在异步完成后调用回调函数。
但是要注意回调地狱,即多层回调,这样会降低代码的可读性以及维护性。

二.promise
       promise中三种状态:pending 进行中
                                        resoloved 已完成
                                       rejected 已失败
      基本用法:
             第一步:新建promise对象
                    var promise = new promise(function(resolove,reject){
                          if(异步操作成功){
                                 resolove();
                          }else{
                                 reject();
                          }
                     });
              第二步:制定resolve和reject状态下的回调函数
                     promise.then(function(){resolove时回调},function(){reject时回调});
                    或
                    promise.then(function(){resolove时回调}).catch(function(){reject时回调});
                    promise.all([]).then()   //数组里传入promise对象,并发执行,全部完成后执行resolve(),一个没完成都执行reject()。
                   promise也可以看成回调函数的

node.js中的async模块
      1.第三方模块,需下载后使用
      2.var async = require(“async”);
      3.async.series([],function(){}); //串行无关联
      async.parallel([],function(){}); //并行无关联
      async.waterfall([],function(){}); //串行有关联

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/23713.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者lili的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!