来自Q promise的同步答案

时间:2015-11-29 16:28:58

标签: javascript node.js promise q

我正在node.js中编写一个应用程序。

应用程序的配置存在于数据库中。

我创建了一个通用模块,可以与数据库通信,并在Q promise中返回回复。

我现在正在创建一个特定的模块,它可以为我的应用程序获取配置。 这是下面的config模块。 getconfig()函数返回Q promise。但我想同步得到答复。

在另一个模块中(参见下面的代码)我希望该模块获取配置以了解如何与服务进行通信(在这种情况下为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);
      });
    }
  };

})();

然而,使用promises,当我开始调用模块的函数时,我无法确定如何确保从数据库返回配置

1 个答案:

答案 0 :(得分:0)

好的,所以在@slebetman评论之后我在这里找到了答案: Node.js gives unpredictable ajax response on the first time of startup

我的问题基本上与上述问题重复。