Javascript 在回调的深处调用函数

Javascript 在回调的深处调用函数,javascript,function,callback,Javascript,Function,Callback,我试图调用一个在回调中隐藏了两次的函数。我正在使用Polymer+electron+PayPal Node SDK,以便利用PayPal作为支付系统来创建一个简单的商店 正如您在我的示例中所看到的,我需要调用的函数是execute() 任何帮助都将不胜感激。非常感谢。如果您使用的是兼容ES2017的node版本,我强烈建议您使用所有承诺,而不是回调,然后将其转换为异步函数。它将极大地提高可读性,并将像这样的范围界定问题转化为非问题。非常感谢你,性感的野兽。这就成功了。 var

我试图调用一个在回调中隐藏了两次的函数。我正在使用Polymer+electron+PayPal Node SDK,以便利用PayPal作为支付系统来创建一个简单的商店

正如您在我的示例中所看到的,我需要调用的函数是
execute()


任何帮助都将不胜感激。非常感谢。

如果您使用的是兼容ES2017的node版本,我强烈建议您使用所有承诺,而不是回调,然后将其转换为
异步
函数。它将极大地提高可读性,并将像这样的范围界定问题转化为非问题。非常感谢你,性感的野兽。这就成功了。
          var context = this;
          paypal.payment.create(create_payment_json, function (error, payment) {
              if (error) {
                  throw error;
              } else {
                  console.log("Create Payment Response");
                  console.log(payment);

                  var mywindow = window.open(payment.links[1].href);

                  var timer = setInterval(function() { 
                      if(mywindow.closed) {
                          clearInterval(timer);
                          context.execute();
                          return;
                      }
                  }, 1000);
              }
          });
          var context = this;
          paypal.payment.create(create_payment_json, function (error, payment) {
              if (error) {
                  throw error;
              } else {
                  console.log("Create Payment Response");
                  console.log(payment);

                  var mywindow = window.open(payment.links[1].href);

                  var timer = setInterval(function() { 
                      if(mywindow.closed) {
                          clearInterval(timer);
                          context.execute();
                          return;
                      }
                  }, 1000);
              }
          });