0
对于我的项目,我用express.js和redis.io作为数据库使用Node.js。现在我有一个查询参数获取资源。它应该给我持有特定书籍的图书馆的ID。但我不明白我的程序的处理顺序。正如你在下面的代码中看到的,我将库数组3次打印到控制台。Node.js | Express.js | Redis.io - 处理订单
var express = require('express');
var bodyParser = require('body-parser');
var redis = require('redis');
var db = redis.createClient();
var jsonParser = bodyParser.json();
var app = express();
app.use(jsonParser);
app.get('/test', function (req, res) {
if (req.query.book != null) {
var book_id = req.query.book;
var libraries = [];
db.get('book:' + book_id, function (err, rep) {
var book = JSON.parse(rep);
var libs = book.libraries;
libs.forEach(function (val) {
libraries.push(val.id);
});
console.log("1.: " + libraries);
});
console.log("2.: " + libraries);
}
console.log("3.: " + libraries);
});
app.listen(1337);
这是导致我的控制台:
2:
3:
1:1,4
有人能解释一下吗?为什么我的数组在第二点和第三点是空的?