-2
我想使用的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);
}
});
}
);
的想法是讓陣列varaible「行'這樣,這段代碼運行後,我可以說,運行console.log(行)。
在該行下面添加一個返回對我不起作用。
感謝您的幫助。我將如何在回調中添加'console.log(rows)'?我不清楚函數的哪部分是異步的,爲什麼。 –
我應該澄清,我的意圖是通過app.get(){[splunk api call];發送數組'行'; res.send(rows);},但是我猜只有在異步函數完成執行後 –
你最後的回調是'function(err,results,job){...}',這是一個匿名函數,所有異步任務的結束。緊跟在'var rows = ...;'insert'res.send(rows);'你應該很好走;從封裝代碼中「res」變量被「捕獲」 – qxz