我有这样的 NodeJS 12.x Lambda,并且我正在使用 middy.js 连接到 RedShift 集群,这是摘录:const middy = require('@middy/core')const dbManager = require('@middy/db-manager');const lambda = middy(async (event, context) => { const { db } = context; const records = await db.distinct('XXX').from('YYY'); // print result console.log(records); // return result return { 'statusCode': 200, 'body': JSON.stringify(records) }});lambda .use(dbManager({ config: { client: 'pg', connection: { host: 'XXX', port: '1111', schema: 'public', user: 'XXX', password: 'XXX', database: 'XXX' } } }));module.exports = { lambda }当我运行这个 Lambda 时,将检索结果(即console.log打印出结果),但该函数保持挂起状态,直到它没有达到超时。我很确定我错过了异步/等待机制的一些东西,但我不知道我必须改变什么以及在哪里改变。
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
解决方案是设置context.callbackWaitsForEmptyEventLoop = false
.
这可以通过使用名为DoNotWaitForEmptyEventLoop的 Middy 中间件来完成
添加回答
举报
0/150
提交
取消