从另一个模块的异步回调函数返回的值未定义

时间:2021-03-28 08:52:55

标签: javascript node.js async-await

我想做什么:

简单地返回 var order_data,它存储来自异步回调函数的数据。

ipopay.createorder 函数存在于另一个模块中,该模块用于在其支付网关的服务器中创建支付订单。

我需要的有关订单详细信息的数据存在于 function(err,data)(见下文)中,我需要返回这些数据。

我遇到的问题:回调函数返回的数据未定义。

我的 index.js 函数:

const functions = require("firebase-functions");

exports.order = functions.https.onCall((amnt, response) => {
  const Ippopay = require('node-ippopay');
  var order_data;
  const ippopay_instance = new Ippopay({
    public_key: 'YOUR_PUBLIC_KEY',
    secret_key: 'YOUR_SECRET_KEY',
  });
    
  ippopay_instance.createOrder({
    amount: amnt, 
    currency: 'DOLLAR',
    payment_modes: "cc,dc,nb,cheque",
    customer: {
      name: "Test",
      email: "test@gmail.com",
      phone: {
        country_code: "42",
        national_number: "4376543210"
      }
    }
  }, function (err, data) {
    order_data=data.order.order_id;
  });
return order_data;
});

我是初学者,因此非常感谢上述代码的编辑版本。 :)

0 个答案:

没有答案