javascript - 等待不起作用,执行继续进行
问题描述
我正在尝试发送一个对象作为结果,但是即使我正在使用等待,返回行也会在查询完成之前执行。使用调试器,我看到 res.status(200) 在服务内的查询返回结果之前执行。
我尝试将它放在一个函数中并使用 then() 但这也不起作用。我想我用错了。
这是我正在使用 await 的 controller.js。
let table = req.query.table;
let namespace = req.query.namespace;
table = table.toUpperCase();
namespace = namespace.toLowerCase();
try{
let serviceResponse = await testService.GetAny(table, namespace);
res.type('application/json').status(200).send(serviceResponse);
}
这是执行查询的服务。
client.exec(getScript, (err, res) => {
if(err){
return console.error('Connect error ', err);
}
console.log('inside exec');
return res;
});
解决方案
推荐阅读
- laravel-5 - Laravel 5.6 - 将附加参数传递给 API 资源?
- image - 如何控制 imagesc 图像的一个像素中包含哪些信息?
- python - 解析 Python 时出现意外的 EOF:1 个打开的文件中有 2 个正则表达式
- sql - 从连接表中获取数据
- c - “指向寄存器变量的指针”作为函数参数有什么作用?
- css - 如何在 Vaadin Gridlayout 中自定义标签
- java - Java递归不迭代所有顶级元素
- hadoop - HDFS 上的文件权限
- android - SegmentIO 分析 - 在属性中添加 JSONObject
- ibm-watson - 在 Watson Studio Modeler Flow 的对象存储中找不到文件