进行同步orchestrate.io查询

时间:2016-02-21 02:36:03

标签: javascript node.js asynchronous synchronization orchestrate

我刚刚开始使用orchestrate.io作为我的数据库并使用NodeJS client

我的程序非常简单,但由于查询是异步运行的,因此行为不正常。

代码:

var db = require('orchestrate')("xxxxxx");
db.get('bar', 'foo')
.then(function (res) {
  console.log("I got a response!");
})
.fail(function (err) {
  console.log("I failed to get a response");
});
console.log("I should have data by now..");

输出:

I should have data by now..
I got a response!

我想拥有什么:

I got a response!
I should have data by now..

这只是我编写的一些代码来说明这个问题,我的实际代码要复杂得多,而且查询是在一个登录函数中,最终返回false(每个函数的末尾),然后才能完成查询将返回true而不是破坏我的登录系统。唯一的解决方案是以某种方式使查询同步,但我在文档中看不到任何触及的内容(如果我错过了,请指出它们。)

注意:我一般都是非常对nodejs和javascript的新手。

注2:回调对我实际拥有的代码不起作用,所以不需要尝试。

1 个答案:

答案 0 :(得分:0)

Node.js的设计使得所有I / O都以异步方式完成。如果您编写的代码需要同步执行数据库调用,则需要重构以使其适合Node.js的非阻塞模型。