如何在.then()Block(SuperAgent Library)之外导出数据?

时间:2018-06-07 16:25:38

标签: javascript node.js promise node-modules superagent

我的Nodejs项目中有两个相互依赖的文件。我使用一个名为SuperAgent 的简单库(我需要它)

SuperAgent Library Links

file1.js

中的

const file2 = require('./file2');

let callMe = async (x) => {
  const resData = await file2.getNow(x);
  console.log(resData);
};
callMe('Header Data');
file2

中的

const request = require('superagent');

module.exports = {
  getNow: (x) => {
    // Here I use simple SuperAgent
    return request
      .get('https://loremipsum.com')
      .set({
        Header: `${x}`,
      })
      .then(function (res) {
        // I want res to be pass to resData variable on file1
      });
  }
};

我希望res传递给resData上的file1变量。

我已经在这里尝试了很多不同的东西,分配给变量或返回一个值,但它到目前为止还没有工作,resData继续给出undefined值。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

以下示例适用于您吗?

文件1



const file2 = require('./file2');

let callMe = async (x) => {
  const resData = file2.getNow(x).then(function(resData){
      console.log(resData);
  })
};
callMe('Header Data');




file2的



const request = require('superagent');

module.exports = {
  getNow: (x) => {
// Here I use simple SuperAgent
return request
  .get('https://loremipsum.com')
  .set({
    Header: `${x}`,
  })
  .then(function (res) {
      // I want res to be pass to resData variable on file1
      return Promise.resolve(res)
  });
  }
};