问题:
在request监听函数中使用数据库操作等await 函数报await is only valid in async function错误
背景:
因业务需要,需要向第三方发送http request再根据response结果做业务操作,如果成功(statusCode为200时)则做云数据库,云存储操作。如果失败,则啥都不做。
则代码逻辑结构如下,不能直接运行,只是为了展示逻辑结构:
// 云函数入口函数
exports.main = async (event, context) => {
const buffer = await request.get(url)
buffer.on(“response”, function (res) {
if (res.statusCode == ‘200’){
//数据库操作, 这些都是await方法
await cloud.uploadFile({
cloudPath: filePath,
fileContent: buffer,
}).then()
.catch(error)
}
}
return {}
}
await async 这些关键词 都是啥用法