javascript - Q Promise同步应答

标签 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);
      });
    }
  };

})();

但是使用 promise ,我无法看到如何确保当我开始调用模块的函数时从数据库返回配置

最佳答案

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

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

关于javascript - Q Promise同步应答,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33985082/

相关文章:

javascript - 在 ios 中使用 contenteditable ="true"显示 div 的键盘

JavaScript 和 Python 按位或运算给出了不同的结果

javascript - 如何渲染包含 form_for 的编辑功能的部分?

javascript - 文件夹中动态添加图像的幻灯片

javascript - 对象属性的 null 值转换为 "null"字符串

node.js - 在非回调函数 : "interesting" results in node. 上调用 promisify() 为什么?

javascript - 循环对于 IE7/8 来说太慢了

node.js - 在 AWS 上路由路径的最佳方式是什么?

javascript - 将 promise 的 future 值保存在变量中

Node.js - 使用 Promise.all() 加载并执行多个函数