如何隐瞒回调的承诺? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何隐瞒回调的承诺? [重复]相关的知识,希望对你有一定的参考价值。

我有下一个代码

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);
答案
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);
  });
});

以上是关于如何隐瞒回调的承诺? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在回调结束时获得通知承诺所有回调样式[重复]

如何创建从回调函数返回承诺的函数[重复]

异步 JavaScript - 回调与延迟/承诺 [重复]

JavaScript将回调转换为承诺[重复]

即使在承诺时也回调金字塔[重复]

干净的代码和嵌套的承诺 [重复]