我尝试Promisify条带模块但遇到了问题。
如果我跑:
const stripe = Promise.promisifyAll(require('stripe')(secretKey));
const response = await stripe.accounts.retrieveAsync();
retrieveAsync不是一个功能。我必须做这样的事情:
const accounts = Promise.promisifyAll(stripe.accounts);
const response = await accounts.retrieveAsync();
但显然这并不能很好地扩展。我怎样才能宣传这个模块的所有子方法?感谢
答案 0 :(得分:0)
这似乎有效:
let stripe = require('stripe')(secretKey);
Promise.promisifyAll(Object.getPrototypeOf(stripe));
答案 1 :(得分:0)
给它一个机会:
const stripe = Promise.promisifyAll(require('stripe')(secretKey));
const response = yield stripe.accounts.retrieve().promise();
答案 2 :(得分:0)
如果省略回调,看起来条纹v4.25支持Promises。
使用回调:
var stripe = require('stripe')('sk_test_XXX')
stripe.plans.retrieve('number_one_month', (err, res) => console.log(res))
{ id: 'number_one_month',
...
使用then()
:
stripe.plans.retrieve('number_one_month').then(console.log)
{ id: 'number_one_month',
...
但我在文档中找不到它。