我有一个巨大的Sqlite3数据库,大小约为18.3 GB。我正在使用Node.js,express.js和sqlite3查询它。如果我输入存储在数据库中的电子邮件地址,它将正确显示其他相关详细信息。但是,如果电子邮件地址不在数据库中,它将无限期等待响应,直到超时为止。我已经在本地主机和网络托管上尝试过此操作。
我的问题:是否可以停止它或处理错误?
我尝试在行上添加if语句,以查明err aka err.message是否包含一条消息,但结果不确定。
app.get('/api/users/:email', function(request, response) {
const email = request.params['email'];
db.all("SELECT * FROM ents WHERE email = '" + email + "'", function(err, rows){
if(rows) {
response.send(rows);
}
else {
response.send('No Data');
}
});
});
在本地计算机(localhost)和Web托管上,它都等待响应,直到超时。输出应为json响应,其中包含与电子邮件地址相关联的各个字段,或者为“否”响应。