从Unirest Node获取请求函数的响应发送到Jade视图

时间:2016-11-04 15:07:59

标签: javascript express pug unirest

我正在构建我的第一个Node应用程序,我遇到了unirest.get请求的麻烦。我的项目是使用Node,Express,Node和Act On API构建的。

我正在使用express generator来快速完成项目。

我遇到的问题是我正在努力将响应通过我的路径文件。我正在请求一个正确返回的Act On API列表,因为我可以在登录时看到控制台中的响应,但是无法将数据传递给模板。

function getTheList(callback) {
var Request = unirest.get('https://restapi.actonsoftware.com/api/1/list/l-0001')
.headers({
    'Accept': 'application/json',
    'Authorization': 'Bearer ' + access_token
})
.query({
    "count": 20,
    "fields": "First Name;Last Name;Email;"
})
.end(function(response, error) {
    var data = response.body.data;
    if (!error && response.statusCode == 200) {
        callback(returnData(data)); 
    } else {
        console.log('Failed response');
    }
});
}

function returnData(theData){
  console.log(theData);
  return theData;
}

module.exports.get = getTheList;

我的路径文件中的代码可以获取此信息。

var masterList = require('../acton/getMasterList');

var myListVar = masterList.get();

对我所做错的任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您描述的getTheList功能需要一个您在调用它时不提供的回调masterList.get()

所以你可以这样做:

masterList.get(function(data){
    //you can access data here.
})

或者,在getTheList实现中,只需完全取消回调。

 .end(function(response, error) {
    var data = response.body.data;
    if (!error && response.statusCode == 200) {
      returnData(data); //Just do this may be.
    } else {
      console.log('Failed response');
    }
});