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


微信打赏

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