ES6承诺 - 如何测试是否已解决?

时间:2016-04-04 22:03:09

标签: javascript promise es6-promise

我有ES6承诺。我想使用promise来序列化API请求。有交互式请求和后台请求。

var apiPromise = Promise.resolve();

...
// Interactive requests
router.get('/apiRequest', (req,res) => {
  apiPromise.then(doSomeStuff)
  .then((results) => {
     res.send(results)
  })

...
// Background requests
setInterval(() => {
  if (apiPromise is resolved) {
    apiPromise.then(doSomeStuff)
  }
}, 1000*60)

我想将setInterval函数设置为.then()一个排队的请求,只有在已经解析了promise的情况下。如果它没有解决,只需等待下一个间隔检查。

最好的方法是什么?

更新:Bluebird.js提供同步检查:http://bluebirdjs.com/docs/api/isfulfilled.html

0 个答案:

没有答案