【问题标题】:how to covert callbacks to promise? [duplicate]如何将回调转换为承诺? [复制]
【发布时间】:2020-06-02 14:09:23
【问题描述】:

我有下一个代码

paypal.payment.create(create_payment_json, function (error, payment) {
        if (error) {
            throw error;
        } else {
            for(let i = 0;i < payment.links.length;i++){
              if(payment.links[i].rel === 'approval_url'){
                res.send({link:payment.links[i].href});
              }
            }
        }
});

我需要将其转换为承诺:

const { links } = await paypal.payment.create(create_payment_json);

【问题讨论】:

  • 注意你的代码不能多次调用res.send()
  • 我知道,这是代码示例。

标签: javascript node.js paypal promise callback


【解决方案1】:
const PaypalPromise = module.exports;

const Paypal = require('paypal-rest-sdk').configure({
  mode: 'sandbox',
  client_id: 'your id',
  client_secret: 'your secret',
});

PaypalPromise .create = (pay) => new Promise((resolve, reject) => {
  Paypal.payment.create(pay, (error, payment) => {
    if (error) return reject(error);

    return resolve(payment);
  });
});

【讨论】:

    猜你喜欢
    • 2018-05-04
    • 2018-08-08
    • 2015-10-16
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多