Q promise 的同步应答
Synchronous answer from Q promise
我正在 node.js 中编写应用程序。
应用程序的配置存在于数据库中。
我创建了一个可以与数据库对话的通用模块,return Q promise 中的回复。
我现在正在创建一个特定的模块,它的存在是为了获取我的应用程序的配置。
这是下面的 config
模块。 getconfig()
函数 return 是一个 Q 承诺。但是我想同步得到回复
在另一个模块(见下面的代码)中,我希望该模块获取配置,以便知道如何与服务(在本例中为 aws s3)通信。
因此,在实例化该模块时,我要做的第一件事就是获取配置。
我希望这样,每当实例化该模块时,它也会被配置。这需要同步完成。
var s3Module = (function () {
var _config = config.getConfig().s3;
var bucket = _config.bucket;
return {
pushToS3: function (payload, fulfilled) {
var params = buildParams(payload);
s3.putObject(params, function (err, data) {
if (err)
error(err);
else
fulfilled(data);
});
}
};
})();
但是,当我开始调用模块
的函数时,我看不出如何确保从数据库中return编辑配置
好的,在@slebetman 发表评论后,我在这里找到了答案:
Node.js gives unpredictable ajax response on the first time of startup
我的问题基本上是上述问题的重复。
我正在 node.js 中编写应用程序。
应用程序的配置存在于数据库中。
我创建了一个可以与数据库对话的通用模块,return Q promise 中的回复。
我现在正在创建一个特定的模块,它的存在是为了获取我的应用程序的配置。
这是下面的 config
模块。 getconfig()
函数 return 是一个 Q 承诺。但是我想同步得到回复
在另一个模块(见下面的代码)中,我希望该模块获取配置,以便知道如何与服务(在本例中为 aws s3)通信。
因此,在实例化该模块时,我要做的第一件事就是获取配置。 我希望这样,每当实例化该模块时,它也会被配置。这需要同步完成。
var s3Module = (function () {
var _config = config.getConfig().s3;
var bucket = _config.bucket;
return {
pushToS3: function (payload, fulfilled) {
var params = buildParams(payload);
s3.putObject(params, function (err, data) {
if (err)
error(err);
else
fulfilled(data);
});
}
};
})();
但是,当我开始调用模块
的函数时,我看不出如何确保从数据库中return编辑配置好的,在@slebetman 发表评论后,我在这里找到了答案: Node.js gives unpredictable ajax response on the first time of startup
我的问题基本上是上述问题的重复。