<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script>
/*
* 定义两个Promise实例化对象,这两个是需要异步操作的两个方法
* 在promise对象实例化是传入一个方法,这个方法两个参数,一个是异步调用成功,一个是失败
* 这个方法里面执行的异步操作会在结束时调用一下resolve
* 执行是在then里面执行,then的函数要有resolve才能执行,然后通过return来执行下一个then
* 首先调用demo1的then方法,传入一个方法,相当于resolve,然后按照then一步一步往下执行
*/
function demo1 () {
var p = new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('success11');
resolve("test1");
}, 2000);
});
return p;
} function demo2 () {
var p2 = new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('success22');
resolve("test2");
}, 1000);
});
return p2;
} demo1().then(function(data){
console.log(data);
return demo2();
}).then(function(data) {
console.log(data);
return demo1();
}) </script>
</body>
</html>
05-11 18:01