mscorlib: TypeError: context.res is not a function
mscorlib: TypeError: context.res is not a function
我正在为 Azure Functions 编写一个 NodeJS 函数。但是,当尝试调用 context.res
到 return 对调用者的响应时,该函数失败并出现以下异常:
2016-06-26T07:45:59.171 Exception while executing function: Functions.getSASToken. mscorlib: TypeError: context.res is not a function
at module.exports (D:\home\site\wwwroot\getSASToken\index.js:63:26)
at eval (eval at <anonymous> (C:\Program Files (x86)\SiteExtensions\Functions[=10=].2.10238\bin\edge\double_edge.js:34:28), <anonymous>:42:7).
function.json
文件的内容:
{
"bindings": [
{
"webHookType": "",
"name": "req",
"type": "httpTrigger",
"direction": "in",
"authLevel": "anonymous"
},
{
"name": "res",
"type": "http",
"direction": "out"
}
],
"disabled": false
}
有问题的函数:
module.exports = function(context, req) {
var token = req.query.token;
var deviceId = req.query.deviceId;
var resourceUri = util.format('%s/devices/%s', sbNamespace, deviceId);
var sasToken = generateSasToken(resourceUri, token, null, 14400);
context.res({
status: 200,
body: sasToken
});
context.done();
}
遍历 context.bindings
对象表明它只包含 属性 req
(res
完全缺失)。
仅供参考,通过 context.done(null, {res: {status:200, body: sasToken}}
覆盖响应对象会 return 向调用者提供所需的输出。
而不是
context.res({
status: 200,
body: sasToken
});
你需要
context.res = {
status: 200,
body: sasToken
};
我正在为 Azure Functions 编写一个 NodeJS 函数。但是,当尝试调用 context.res
到 return 对调用者的响应时,该函数失败并出现以下异常:
2016-06-26T07:45:59.171 Exception while executing function: Functions.getSASToken. mscorlib: TypeError: context.res is not a function
at module.exports (D:\home\site\wwwroot\getSASToken\index.js:63:26)
at eval (eval at <anonymous> (C:\Program Files (x86)\SiteExtensions\Functions[=10=].2.10238\bin\edge\double_edge.js:34:28), <anonymous>:42:7).
function.json
文件的内容:
{
"bindings": [
{
"webHookType": "",
"name": "req",
"type": "httpTrigger",
"direction": "in",
"authLevel": "anonymous"
},
{
"name": "res",
"type": "http",
"direction": "out"
}
],
"disabled": false
}
有问题的函数:
module.exports = function(context, req) {
var token = req.query.token;
var deviceId = req.query.deviceId;
var resourceUri = util.format('%s/devices/%s', sbNamespace, deviceId);
var sasToken = generateSasToken(resourceUri, token, null, 14400);
context.res({
status: 200,
body: sasToken
});
context.done();
}
遍历 context.bindings
对象表明它只包含 属性 req
(res
完全缺失)。
仅供参考,通过 context.done(null, {res: {status:200, body: sasToken}}
覆盖响应对象会 return 向调用者提供所需的输出。
而不是
context.res({
status: 200,
body: sasToken
});
你需要
context.res = {
status: 200,
body: sasToken
};