json_decode($data)
这是我的函数+回调来获取值。我想将它返回到类似于你将如何做的函数调用。
this.queryMailApi = function(mailUrl, callback) {
request.get({url: mailUrl}, function (err, httpResponse, body) {
if (err) {
return console.error('post failed:', err);
} else
callback(body);
});
};
this.myCallBack = function(data) {
var emailData = data;
console.log(emailData);
}
稍后在代码中使用。我已经阅读了很多关于异步Nodejs的东西,这意味着我实际上无法做到这一点......但必须有办法。
答案 0 :(得分:0)
我没有尝试过这个,但我认为你应该能够以这种方式做到这一点。
this.queryMailApi = function(mailUrl) {
var deferred = protractor.promise.defer();
request.get({url: mailUrl}, function (err, httpResponse, body) {
if (err) {
deferred.reject(err);
return console.error('post failed:', err);
}
deferred.resolve(body);
});
return deferred.promise
};
this
.queryMailApi('example@mail.com')
.then(function(response) {
console.log(response);
});
如果这不起作用,您可以查看webdriver.WebDriver.wait。这可能很有用。