promise(异步响应式编程-解决地狱回调)

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')
  })
```
上一篇下一篇

猜你喜欢

热点阅读