快速回调需要的参数多于(req,res)

时间:2017-08-19 17:15:44

标签: javascript node.js express oauth-2.0 google-calendar-api

对于我正在处理的快速应用,my callbacks can only have (req, res, next, err) passed into them

这就是我的工作。

function listEvents(auth, req, res, email, authURL = ""){
...
var calendar = google.calendar('v3');
calendar.events.list({
auth: auth, ... });
}

但是我的函数定义必须如下所示:

function listEvents(req, res){...}

我可以从API调用中检索电子邮件和authURL,但我不知道如何传入在listEvents是回调的方法中创建的auth。我正在尝试这样的事情:

oauth2Client.credentials = acctoken;
    var output = {
      auth: oauth2Client,
      data: callback(req, res)
    };
    res.send(output);

但我需要将oauth2Client 放入回调本身。这只会让你发送回调链回复。

我将不胜感激任何帮助。非常感谢你。

2 个答案:

答案 0 :(得分:0)

oauth2Client.credentials = acctoken;
var output = {
  auth: oauth2Client,
  data: callback(req, res)
};
res.send(output);

参考上面的代码块,您将auth指定为oauth2Client。 您可以在req对象中追加oauth2Client并在回调函数中使用它。

答案 1 :(得分:0)

所以我和多个人交谈过,显然我的问题是我没有正确地考虑请求对象。如上面的答案所述,可以将字段附加到请求的主体。到目前为止,我还没有准备过邮递员的请求 - 所以这对我来说非常有用。这几乎正​​是我所寻找的;我需要一种方法来为回调提供信息,而不将其作为参数传递。