使用错误的值签名从回调中创建承诺

时间:2015-02-16 17:39:02

标签: javascript callback promise bluebird

我正在尝试将这个简单的函数转换为promise。我认为解决方案将取代返回function(err, value)的回调。我在这里缺少什么?

var retrieveSet = function(offset){
  var opts = {}
  opts.limit = 100
  if(offset) opts.offset = offset
  return new Promise(function (resolve, reject) {
    chargebee.subscription
    .list(opts)
    .request(resolve);
  })
}


retrieveSet().then(function(data){
  console.log(data)
}).catch(function(e){
  throw e
})

1 个答案:

答案 0 :(得分:2)

var retrieveSet = function(offset){
  var opts = {}
  opts.limit = 100
  if(offset) opts.offset = offset
  return new Promise(function(resolve, reject) {
    chargebee.subscription
    .list(opts)
    .request(function(err, value){
      if(err) return reject(err)
      return resolve(value)
    })
  })
}