Javascript Soda js查询在脚本完成后运行。
为什么尽管查询后有代码,但查询在代码之前运行。它打印一个空数组,然后在查询函数中执行所有操作。这在javascript中是正常行为吗?如何使程序正确运行Javascript Soda js查询在脚本完成后运行。,javascript,Javascript,为什么尽管查询后有代码,但查询在代码之前运行。它打印一个空数组,然后在查询函数中执行所有操作。这在javascript中是正常行为吗?如何使程序正确运行 var soda = require('soda-js'); var consumer = new soda.Consumer('data.seattle.gov'); var data_rows = []; var query = consumer.query() .withDataset('c3ri-wwcn') .limi
var soda = require('soda-js');
var consumer = new soda.Consumer('data.seattle.gov');
var data_rows = [];
var query = consumer.query()
.withDataset('c3ri-wwcn')
.limit(5)
.getRows()
.on('success', function(rows) { console.log(rows);
console.log("here");
data_rows = rows;
console.log(data_rows);
for (item in data_rows) {
console.log(data_rows[item]);
};
})
.on('error', function(error) { console.error(error); });
console.log(data_rows);
for (item in data_rows) {
console.log(item);
};
这是工作中的异步JavaScript。您的getRows()被调用并开始执行它的任务。而不是等待结果;JavaScript执行剩余的代码。当getRows()返回结果时,代码中的on'success'或on'error'部分将被执行。我如何避免这种情况,并将查询保存为变量,以便在脚本的后续部分中使用?