创立一个新的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') })```