Node.js / ES6 - 无法调用promise并从函数返回值

时间:2016-04-13 04:11:51

标签: node.js function es6-promise

我有以下功能:

const getRemote = function getRemote() {

  request.make(url)
      .then(function (data) {
          return data;

      })
      .catch(function (err) {
          log.error("Error loading external config file: " + err);
      });
};

exports.getRemote = getRemote;

我想导出data的结果。 request.make()返回一个promise,但我的函数返回undefined

如果我return request.make(url)...我收到承诺回复如下:

Promise { _bitField: 0, _fulfillmentHandler0: undefined, _rejectionHandler0: undefined, _progressHandler0: undefined, _promise0: undefined, _receiver0: undefined, _settledValue: undefined }

如何导出数据值?

1 个答案:

答案 0 :(得分:0)

return request.make(url)是正确的做法。这将返回promise,这是您希望在模块外部访问的内容,以便您可以执行以下操作:

yourModule.getRemote().then( data => {
    // use data here
} );