zoukankan      html  css  js  c++  java
  • es6的Promise(承诺)

    es6的Promise(承诺)

    Promise中的所有回调函数,都是异步执行的
    //用来解决异步的一些问题
    let p = new Promise(function(resolve,refused){
    	console.log("abc");
    	//resolve();
    	setTimeout(function(){
    		resolve();
    	},3000); 
    	console.log("123");
    });
    
    p.then(function(){
    	console.log("def");
    });
    
    //挂起状态     成功状态      失败状态
    
    setTimeout(function(){
    	console.log(1);
    	setTimeout(function(){
    		console.log(2);
    		setTimeout(function(){
    			console.log(3);
    			setTimeout(function(){
    				console.log(4);
    				setTimeout(function(){
    					console.log(6);
    				},5000);
    			},3000);
    		},3000);
    	},2000);
    },1000);
    
    function sleep(times){
    	return new Promise(function(resolve,refused){
    		setTimeout(function(){
    			resolve();
    		},times);
    	});
    }
    
    let pr = new Promise(function(resolve,refused){
    	setTimeout(function(){
    		resolve();
    	},1000);
    });
    
    pr.then(function(){
    	console.log(1);
    	return sleep(2000);
    }).then(function(){
    	console.log(2);
    	return sleep(3000);
    }).then(function(){
    	console.log(3);
    	return sleep(4000);
    }).then(function(){
    	console.log(4);
    });
    
    
    
    let p3 = new Promise(function(resolve,refused){
    	resolve();
    	refused("失败了");
    });
    p3.then(function(){
    	console.log("edf");
    }).catch(function(e){
    	console.log(e);
    });
    
    ES6 对 Promise 有了原生的支持,一个 Promise 是一个等待被异步执行的对象,当它执行完成后,其状态会变成 resolved 或者 rejected。
    每一个 Promise 都有一个 .then 方法,这个方法接受两个参数,第一个是处理 resolved 状态的回调,一个是处理 rejected 状态的回调
  • 相关阅读:
    基于Kibana的可视化监控报警插件sentinl入门
    es聚合学习笔记
    spark streaming基本概念一
    es实战一:基本概念
    访问者模式(Visitor Pattern)
    模板方法模式(Template Method Pattern)
    策略模式(Strategy Pattern)
    状态模式(State Pattern)
    观察者(Observer)模式
    备忘录模式(Memento Pattern)
  • 原文地址:https://www.cnblogs.com/jianghongyan/p/7202757.html
Copyright © 2011-2022 走看看