gpt4 book ai didi

javascript - 回调不调用

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:53 25 4
gpt4 key购买 nike

MongoClient.connect的回调没有调用

我尝试在 aws lambda 中调用回调,但它不起作用,但是如果我删除exports.lambdaHandler 并仅通过 Node app.js 调用它,它就可以正常工作。

exports.lambdaHandler = async (event, context) => {
try {
MongoClient.connect(url, {
useNewUrlParser: true
}, (err, client) => {
console.log("Connected successfully to server");
});
response = {
'statusCode': 200,
'body': JSON.stringify({
message: 'test'
})
}
return response
} catch (err) {
console.log(err);
return err;
}
};

应该返回

已成功连接到服务器

编辑

我将其改为等待。现在好了

exports.lambdaHandler = async (event, context) => {
try {
const client = await MongoClient.connect(url, {
useNewUrlParser: true
})
const db = client.db(dbName)

await db.createCollection(collectionName)

client.close()

return {
'statusCode': 200,
'body': JSON.stringify({
message: 'test'
})
}
} catch (err) {
console.log(err);
return err;
}
};

最佳答案

试试这个,它会返回结果,否则会抛出一个错误,该错误将在下面被捕获并由 Lambda 返回

exports.lambdaHandler = async (event, context) => {

try {
MongoClient.connect(url, {useNewUrlParser: true}, (err, client) => {
if (err) { console.log(err); throw(err); }
else {
console.log("Connected successfully to server");
console.log(client);
response = {
'statusCode': 200,
'body': JSON.stringify({message: client})
};
return response;
};
});
} catch (err) {
console.log(err);
return err;
}

};

关于javascript - 回调不调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53931486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com