首页 > 解决方案 > Javascript - 从回调 javascript 函数返回值并在下一个回调函数中使用它

问题描述

payresobj 值在“函数(实例,错误,结果)”范围内很好,

想将相同的变量 payresobj 传递给 "function(stage, expired)" ,它当前返回 "undefined" ,我如何在那个 "function(stage, expired)" 回调函数中传递变量以在案例切换中使用它场景..请指教!

function checkout_card() {
  paysafe.checkout.setup("************************************", {
      amount: amt,
      currency: "USD",
      locale: "en_US",
      customer: {
        firstName: fname,
        lastName: lname,
        email: uemail,
        phone: "",
      },
      payout: false,
      payoutConfig: {
        maximumAmount: 999999
      },
      merchantRefNum: merchrefno,
      canEditAmount: false,
      environment: "TEST",
      singleUseCustomerToken: singletoken,
      displayPaymentMethods: ["card"],
      billingAddress: {
        street: staddress,
        city: bcity,
        zip: bzip,
        country: bcountry,
        state: bstate
      },
      simulator: "EXTERNAL",
      paymentMethodDetails: {
        card: {
          accountId: "********"
        }
      },
    },
    function(instance, error, result) {
      //console.log(error);
      if (error) {
        console.log(error);

      }

      if (result && result.paymentHandleToken) {
        payresobj = result
        return payresobj;

      } else {
        //alert(error.message);

      }
    },
    function(stage, expired) {
      console.log(stage);

      //console.log(instance)
      console.log(payresobj);
      switch (stage) {

        case "PAYMENT_HANDLE_NOT_CREATED": // Handle the scenario

          break;
        case "PAYMENT_HANDLE_CREATED": // Handle the scenario

        case "PAYMENT_HANDLE_REDIRECT": // Handle the scenario
          console.log("PAYMENT_HANDLE_REDIRECT");

          break;

        default: // Handle the scenario
          console.log("DEFAULT");

      }
    });
}

标签: javascriptcallback

解决方案


推荐阅读