const obj1 = {
a: 1,
b: 2
}
const obj2 = {
a: 2,
c: 3,
d: 4
}
const obj3 = { ...obj1, ...obj2 }
console.log(obj3)
const isGreater = (a, b) => {
return new Promise((resolve, reject) => {
if(a > b) {
resolve(true)
} else {
reject(false)
}
})
}
isGreater(1, 2)
.then(result => {
console.log('greater')
})
.catch(result => {
console.log('smaller')
})
let p = new Promise(function (resolve, reject) {
console.log("蚂蚁部落一");
reject("我是最后一步吗");
})
p.then(function (val) {
console.log(val)
})
.catch(function(vall){
console.log(vall)
})
console.log("蚂蚁部落三");
、******************************************************一、Pomise.all的使用*********************************************************
let p1 = new Promise(function (resolve, reject) {
console.log("蚂蚁部落一");
resolve("我是最后一步吗");
})
let p2 = new Promise((resolve, reject) => {
resolve('success')
})
Promise.all([p1, p2]).then((result) => {
console.log(result) //['成功了', 'success']
}).catch((error) => {
console.log(error)
})
Promise.all([p1,p2]).then((result) => {
console.log(result)
console.log(result.length)
}).catch((error) => {
console.log(error) // 失败了,打出 '失败'
})
let wake = (time) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(`${time / 1000}秒后醒来`)
}, time)
})
}
let p1 = wake(5000)
console.log(p1)
let p2 = wake(2000)
Promise.all([p1, p2]).then((result) => {
console.log(result) // [ '3秒后醒来', '2秒后醒来' ]
}).catch((error) => {
console.log(error)
})
***************************************************二Promse.race就是赛跑的意思,意思就是说,Promise.race([p1, p2, p3])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态************************************************************
let p1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('success')
},200)
})
let p2 = new Promise((resolve, reject) => {
setTimeout(() => {
reject('failed')
}, 500)
})
Promise.race([p1, p2]).then((result) => {
console.log(result)
}).catch((error) => {
console.log(error) // 打开的是 'failed'
})
var p1 = new Promise((resolve, reject) => {
setTimeout(resolve, 1000, 'one');
});
var p2 = new Promise((resolve, reject) => {
setTimeout(resolve, 2000, 'two');
});
var p3 = new Promise((resolve, reject) => {
setTimeout(resolve, 3000, 'three');
});
var p4 = new Promise((resolve, reject) => {
setTimeout(resolve, 4000, 'four');
});
var p5 = new Promise((resolve, reject) => {
setTimeout(resolve, 5000, 'five');
});
Promise.all([p1, p2, p3, p4, p5]).then(values => {
console.log(values);
}, reason => {
console.log(reason)
});
Promise.all([p1, p2, p3, p4, p5]).then(values => {
console.log(values);
}).catch(reason => {
console.log(reason)
});
*/
function runAsync1() {
var seven = new Promise (function (resolve, reject) {
//异步操作
setTimeout(function () {
console.log("执行完成1")
resolve("梁静茹")
},3000)
});
return seven;
}
function runAsync2() {
var seven = new Promise (function (resolve, reject) {
//异步操作
setTimeout(function () {
console.log("执行完成2")
resolve("绣花")
},2000)
});
return seven;
}
function runAsync3() {
var seven = new Promise (function (resolve, reject) {
setTimeout(function () {
console.log("执行完成3")
resolve("听着风")
},2000)
});
return seven;
}
//all并行执行多个异步操作(谁跑的慢,以谁为准执行回调)
Promise.all([runAsync1(),runAsync2(),runAsync3()])
.then(function (results) {
console.log(results)
}).catch(reason => {
console.log(reason)
})