promise学习笔记,个人理解
2020-01-16 本文已影响0人
Yl奋斗的小白
创建一个新的promise实例
在function里面调用方法后再结束时调用resolve()
触发.then()后面的事件
then()里面应该return一个方法,这样才能控制前面的方法执行完的前提下才执行then里的方法。
let msg = 'aaa'
function getInfo() {
setTimeout(() => {
console.log('Promise222');
console.log(msg)
}, 2000)
}
let promise = new Promise(function(resolve, reject) {
msg = 'bbb'
setTimeout(() => {
console.log('Promise111');
resolve()
}, 3000)
});
promise.then(function() { return getInfo() })
多次遍历调用同一方法且要上一个执行完成后才执行下一个
// 多次遍历调用统一方法时
function promise(val, await) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
console.log(val)
resolve()
}, await)
})
}
promise('promise1', 5000).then(function() {
return promise('promise2', 2000)
}).then(function() {
return promise('promise3', 1000)
}).then(function() {
alert('finished')
})
```