我使用阿里云构建了一个API网关,函数计算和Tablestore(Nosql)来接收http发布数据并将其插入到Nosql数据库中。
在测试我的代码时,在回调响应之前未调用insert函数。我知道我应该使用Async/Await
,但只是不完全了解如何使用它。
我已经尝试.promise()
插入函数确实调用了,但是http的回调响应没有调用。
如何将数据放入数据库并获取函数处理程序的回调?
我的一些代码:
var TableStore=require('tablestore');
async function handler(event, context, callback) {
var putReq = {
tableName: 'wifi',
condition: new TableStore.Condition(TableStore.RowExistenceExpectation.IGNORE, null),
primaryKey: [{ 'date':'123' }],
attributeColumns: [
{'col1': JSON.stringify(data)}, // string column
{'col2': 100}, // integer column
],
};
await client.putRow(putReq,function(err, data) {
if (err) return callback(err);
console.log('putRow suceess: %j', data);
callback(null, data);
});
const response = Object.assign(baseresponse, {
body: {
status: "ok",
body:event.body
}
});
callback(null, response);
}
module.exports.handler = handler;