在 Return 语句中包含 headers 和数据数组 Node.js
Including headers and data array in Return Statement with Node.js
我有一个 lambda 函数,它获取 dynamoDB table 中的所有项目,如下所示。我想知道是否有办法在 return 语句中包含响应 headers 以及“scanResults”数组。
在我当前的代码中,我可以包含 headers 或 scanResults 数组。我试过放置两个 return 语句,但这是不正确的代码。有没有办法将它们结合起来?在此先感谢您的帮助。
'use strict';
const AWS = require('aws-sdk');
exports.handler = async (event, context) => {
const documentClient = new AWS.DynamoDB.DocumentClient();
let responseBody = '';
let statusCode = 0;
let scanResults = [];
let items;
const params = {
TableName: "Products"
};
do {
items = await documentClient.scan(params).promise();
items.Items.forEach((item) => scanResults.push(item));
params.ExclusiveStartKey = items.LastEvaluatedKey;
} while(typeof items.LastEvaluatedKey != "undefined");
responseBody = JSON.stringify(items.Items);
statusCode = 200;
//return scanResults;
const response = {
statusCode: statusCode,
headers: {
"Content-Type": "application/json",
"access-control-allow-origin": "*"
},
body: responseBody
};
return response;
};
您快完成了,只是缺少 responseBody 的错误引用 属性 :
'use strict';
const AWS = require('aws-sdk');
const documentClient = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event, context) => {
let responseBody = '';
let statusCode = 0;
let scanResults = [];
let items;
const params = {
TableName: "Products"
};
do {
items = await documentClient.scan(params).promise();
scanResults = [...scanResults, ...items.Items];
params.ExclusiveStartKey = items.LastEvaluatedKey;
} while(typeof items.LastEvaluatedKey != "undefined");
responseBody = JSON.stringify(scanResults);
statusCode = 200;
const response = {
statusCode: statusCode,
headers: {
"Content-Type": "application/json",
"access-control-allow-origin": "*"
},
body: responseBody
};
return response;
};
我有一个 lambda 函数,它获取 dynamoDB table 中的所有项目,如下所示。我想知道是否有办法在 return 语句中包含响应 headers 以及“scanResults”数组。
在我当前的代码中,我可以包含 headers 或 scanResults 数组。我试过放置两个 return 语句,但这是不正确的代码。有没有办法将它们结合起来?在此先感谢您的帮助。
'use strict';
const AWS = require('aws-sdk');
exports.handler = async (event, context) => {
const documentClient = new AWS.DynamoDB.DocumentClient();
let responseBody = '';
let statusCode = 0;
let scanResults = [];
let items;
const params = {
TableName: "Products"
};
do {
items = await documentClient.scan(params).promise();
items.Items.forEach((item) => scanResults.push(item));
params.ExclusiveStartKey = items.LastEvaluatedKey;
} while(typeof items.LastEvaluatedKey != "undefined");
responseBody = JSON.stringify(items.Items);
statusCode = 200;
//return scanResults;
const response = {
statusCode: statusCode,
headers: {
"Content-Type": "application/json",
"access-control-allow-origin": "*"
},
body: responseBody
};
return response;
};
您快完成了,只是缺少 responseBody 的错误引用 属性 :
'use strict';
const AWS = require('aws-sdk');
const documentClient = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event, context) => {
let responseBody = '';
let statusCode = 0;
let scanResults = [];
let items;
const params = {
TableName: "Products"
};
do {
items = await documentClient.scan(params).promise();
scanResults = [...scanResults, ...items.Items];
params.ExclusiveStartKey = items.LastEvaluatedKey;
} while(typeof items.LastEvaluatedKey != "undefined");
responseBody = JSON.stringify(scanResults);
statusCode = 200;
const response = {
statusCode: statusCode,
headers: {
"Content-Type": "application/json",
"access-control-allow-origin": "*"
},
body: responseBody
};
return response;
};