鍍金池/ 問答/Python  HTML/ js Promise

js Promise

var reader = function (i) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      console.log(i)
      resolve()
    }, 2000)
  })
}

var p = new Promise(function (resolve, reject) {
  resolve()
})

for (var i = 0, len = 5; i < len; i += 1) {
  (function (i) {
    p.then(function () {
      return reader(i)
    })
  })(i)
}

請問下這段代碼如何改成每隔2秒打印一次結(jié)果呢?現(xiàn)在是2秒后同時打印結(jié)果

回答
編輯回答
朽鹿

(function (i) {

p = p.then(function () {
  return reader(i)
})

})(i)

2017年9月3日 16:21
編輯回答
菊外人
var reader = function (i) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      console.log(i)
      resolve()
    }, 2000*i)// 改變間隔
  })
}

var p = new Promise(function (resolve, reject) {
  resolve()
})

for (var i = 0, len = 5; i < len; i += 1) {
  (function (i) {
    p.then(function () {
      return reader(i)
    })
  })(i)
}
2018年5月23日 23:02