如何从多个函数内部返回值?

时间:2016-06-22 09:57:22

标签: javascript selenium

以下是我正在使用的代码:

.container {
  padding: 20px;
  margin: 20px;
  background-color: yellow;
  min-height: 200px;
  overflow: visible;
}

.outside {
  margin-left: -40px;
  margin-top: -40px;
  min-height: 60px;
  background-color: red;
}

我正在使用selenium的execute_script()来执行上面的代码到网站上。如何将(function() { var origOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function() { this.addEventListener('load', function() console.log(this.responseText); //return this value }); origOpen.apply(this, arguments); }; })(); 返回给变量?

谢谢。

1 个答案:

答案 0 :(得分:1)

this.responseTextXMLHttpRequest异步响应时获取值。

如果在XMLHttpRequest完成时需要执行代码,则必须作为回调传递,或直接在事件中调用;在该调用中,您可以重定向应用程序流量。

示例,直接(我尽量不更改原始代码):

function oCallback(responseText){
    console.log('continues execution');
    console.log(responseText);
}

(function() {
    var origOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function() {
        this.addEventListener('load', function() 
            //console.log(this.responseText); //return this value
            oCallback(this.responseText);
        });
        origOpen.apply(this, arguments);
    };
})();