我正在尝试使用splunk javascript SDK(找到here)来使用此给定代码段中的字段:
// Search everything and return the first 100 results
var searchQuery = "search * | head 100";
// Set the search parameters
var searchParams = {
exec_mode: "normal",
earliest_time: "2012-06-20T16:27:43.000-07:00"
};
// Run a normal search that immediately returns the job's SID
service.search(
searchQuery,
searchParams,
function(err, job) {
// Display the job's search ID
console.log("Job SID: ", job.sid);
// Poll the status of the search job
job.track({period: 200}, {
done: function(job) {
console.log("Done!");
// Get the results and print them
job.results({}, function(err, results, job) {
var rows = results.rows;
//I want the 'rows' array
});
},
failed: function(job) {
console.log("Job failed")
},
error: function(err) {
done(err);
}
});
}
);
我们的想法是获取数组可变的“行”,以便在此代码段运行后,我可以运行console.log(行)。
在行下方添加一个返回对我来说不起作用。
答案 0 :(得分:0)
如果您只想全局访问rows
,可以在全局范围内声明var rows;
并使用rows = results.rows;
。只要您在作业中省略var
关键字,就不必真正声明它。
注意,虽然在异步回调中调用了所述赋值;这意味着它可能在service.search(...)
返回后立即执行。在某些情况下,异步函数可能会在函数返回后很长时间调用它们的回调。因此,如果您希望仅在操作完成后执行代码,请将该代码放入/调用回调内。