【发布时间】:2015-12-04 02:23:37
【问题描述】:
我是 nodejs、angularjs 和 firebase 世界的初学者。我正在尝试将数据加载到 firebase 但由于 nodejs 的异步性质而出现问题。 我的目的是从firebase搜索现有列表,如果有一些数据,然后将新元素添加到该列表并将其写回firebase。下面是我的代码,但我面临的问题有点奇怪。它工作正常并继续向数组添加数据,直到我关闭正在运行的节点服务器。一旦我重新启动该节点服务器,由于 nodejs 的异步性质,它会先将新元素添加到数组中,然后再从 firebase 获取数组数据。
我的问题是,我们如何限制这种情况发生?我基本上想获取存储在 firebase 下的数组并在 firebase 上为其添加一个值。我正在尝试将我们从 firebase 收到的这些数据作为 expressjs API 的输出返回。
我们可以将此 firebase 视为一些 WS API,它也可以获取数据并插入数据。
请帮忙。
var ref = new Firebase('FIREBASE URL/'+req.query.id);
var list = [];
ref.on('value', function(snap) { list = snap.val();});
list.push(req.query.searchtext);
ref.set(list);
var result = {key: req.query.id, mainList: list};
res.json(result);
【问题讨论】:
标签: javascript node.js asynchronous express firebase