从带有错误值签名的回调中创建承诺

Creating a promise from a callback with err, value signature

我正在尝试将这个简单的函数转换为一个 promise。我认为 resolve 会取代 returns 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
})
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)
    })
  })
}