NodeJs和Protractor从共享文件返回一个值

时间:2016-07-05 21:41:26

标签: node.js protractor

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的东西,这意味着我实际上无法做到这一点......但必须有办法。

1 个答案:

答案 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。这可能很有用。