将数据从供应商API传递到客户端进行处理

时间:2017-04-05 21:45:31

标签: node.js api express

我有一个沼泽标准nodejs和express app。然后,我有一个第三方API调用(https://github.com/agilecrm/nodejs),它具有一个集函数来收集我需要的数据。通常情况下,通过DB调用,我很好,我调用数据通过res.json(数据)返回它,并且它的公共文件夹中的可用客户端来自express,但我似乎真的在努力处理格式化第三方功能,以获取数据返回,以便我可以收集客户端。

以下是api调用的示例:

var AgileCRMManager = require("./agilecrm.js");
var obj = new AgileCRMManager("DOMAIN", "KEY", "EMAIL");
var success = function (data) {
   console.log(data);
};
var error = function (data) {
    console.log(data);
};

obj.contactAPI.getContactsByTagFilter('tester tag',success, error);

这可以很好地控制数据,但是我需要把它放到客户端,所以我可以在前端使用它,我知道的唯一方法是通过路由,我将如何实现这一目标,或者是否有更好的方法方法?它是数据通过函数中的第二个元素运行的事实,我无法通过我尝试的各种方法得到我的响应。

app.get('/get_contacts_by_tag', function (req, res) {   
   obj.contactAPI.getContactsByTagFilter('Confirmed', success, error);
   var success = function (data) {
      res.json(data);
   };
});

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您没有定义错误回调,也没有在api调用后分配成功回调。

app.get('/get_contacts_by_tag', function (req, res) {   
   var success = function (data) {
      res.json(data);
   };
   var error = function (data) {
      res.status(500).json(data);
   };
   obj.contactAPI.getContactsByTagFilter('Confirmed', success, error);
});