我正在使用expressjs,在运行webapagetest后我将字符串格式的url存储在变量中然后我在请求节点模块中使用此变量来从该url获取数据,但是我得到的是未定义的有效的uri或选项。这是我的javascript代码
var WebPageTest = require('webpagetest');
var wpt = new WebPageTest('url of private webpagetest instance server');
wpt.runTest('https://google.com', function(err, data) {
console.log(err || data);
console.log(data.data.summaryCSV);
sid = data.data.summaryCSV;
console.log(typeof sid);
});
request(sid,function(error,response,body){
console.log(body);

我在最后一行收到错误"请求"
感谢。
答案 0 :(得分:0)
尝试这个:
var WebPageTest = require('webpagetest');
var wpt = new WebPageTest('server-url');
wpt.runTest('some url', function(err, data) {
console.log(err || data);
console.log(data.data.summaryCSV);
console.log("GOING INTO REQUEST MODULE!!");
request('data_url', function (error, response, body) {
if (error) {
console.log(error);
}
console.log(body);
var data = body;
})
});
答案 1 :(得分:0)
您收到错误,因为runTest
函数是异步操作,因此您不应该依赖于以下代码行中设置的值,因为您无法确定异步调用是否具有已经完成了。要实现您想要的目标,您可以:
then
函数来调用您的请求