将请求作为参数传递给函数

Passing request as a parameter to a function

本文关键字:函数 参数传递 请求      更新时间:2023-09-26

在我的自定义Azure API中,我想将请求作为参数传递给函数。通过该函数,我希望能够访问查询参数,并使用service.msql在数据库上执行查询。但是,request.query.fieldName在函数中显示为null。

exports.post = function(request, response) {
console.log("passed UserID = " + request.query.UserID);
request.service.mssql.query(query, {
    success: function(results) {
    if (foo) {
        callFunction(results[0], request);
    }
});
function callFunction(firstResult, request) {
    console.log("UserID received in function = " + request.query.UserID);
}

在我的控制台中,我看到:

Error   Error in script '/api/testapi.js'. TypeError: Cannot read property 'UserID' of undefined

请求是否有特殊之处,意味着它不能传递给新函数?

我很想看到一些这样的文档,但似乎变量request和response必须是传递给函数的前两个变量,才能正常工作。此代码将起作用:

exports.post = function(request, response) {
console.log("passed UserID = " + request.query.UserID);
request.service.mssql.query(query, {
    success: function(results) {
    if (foo) {
        callFunction(request, response, results[0]);
    }
});
function callFunction(request, response, firstResult) {
    console.log("UserID received in function = " + request.query.UserID);
}