<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Promise</title>
</head>
<body>
<script type="text/javascript">
var p3 = new Promise(function(resolve, reject) {
setTimeout(() => {
resolve('3秒钟结束了')
}, 3000)
})
var p5 = new Promise(function(resolve, reject) {
setTimeout(() => {
resolve('5秒钟结束了')
}, 5000)
})
var p2 = new Promise(function(resolve, reject) {
setTimeout(() => {
resolve('2秒钟结束了')
}, 2000)
})
p3.then(r => console.log(r))
p5.then(r => console.log(r))
p2.then(r => console.log(r))
p2.then(r => {
console.log(r)
return 'aaa'
}).then(c => console.log(c))
function promiseAll(arr) {
let newArr = []
return new Promise((resolve,reject)=>{
arr.forEach((item,index) => {
item.then(r => {
newArr.push(r)
let flag = newArr.every(v=>v!=null)
if(newArr.length==arr.length && flag){
resolve(newArr)
}
})
})
})
}
promiseAll([p2, p5, p3]).then(r=>console.log(r))
</script>
</body>
</html>