【发布时间】:2016-06-02 13:56:12
【问题描述】:
我刚开始使用 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:回调对于我实际拥有的代码实际上不起作用,因此甚至无需尝试。
【问题讨论】:
-
反对票的理由?
-
“回调对于我实际拥有的代码实际上不起作用,所以甚至不需要尝试。”嗯,这是唯一要尝试的事情。你不能让异步函数神奇地同步。
标签: javascript node.js asynchronous synchronization orchestrate