Được rồi, đây là cách tôi làm cho nó hoạt động:
async function userExistsInDB(email, password) {
let db = await MongoClient.connect('mongodb://127.0.0.1:27017/notificator');
try {
let collection = db.collection('users');
let userCount = (await collection.find(
{
email: email,
password: password
}).limit(1).count());
return userCount > 0;
} finally {
db.close();
}
}
Và bởi vì async
từ khóa trong khai báo hàm đảm bảo rằng giá trị trả về sẽ là Promise
, cách duy nhất để lấy kết quả trả về thực sự từ hàm này là:
let result = await this.userExistsInDB(email, password);
bên trong một hàm khác được khai báo async
.