Я использую mongodb для make backend API.И я использовал bluebird
, чтобы использовать обещание.
return new promise((resolve, reject) => {
db.collection('employee').find({
email: data.email
}).toArray().then((checkEmail) => {
if (checkEmail.length > 0) {
res.send({ status: 0, message: 'Employee already exist.' });
// I want to stop my node hear.
// I have tried return false , but not works.
}
}).then(() => {
// Add employee details into collection as a new employee.
return db.collection('employee').insert({
//...
})
}).then((employee) => {
// Other stuff
}).catch((error) => {
console.log(error)
res.send({ status: 0, message: 'Something went wrong.' });
});;
}
Как видите, если checkEmail > 0
, то я получил ответ, который получил должным образом в почтальоне.Но все же мой узел - это выполнение следующего кода.
Так, как я мог остановить следующее выполнение, когда я посылаю res назад.
Я уже отправил res клиенту, затем он также выполняет следующий код, а в другой части я также отправил res / error res.Вот почему я получил эту ошибку.
Error: Can't set headers after they are sent.
Я пытался использовать return
, return false
.Но он все еще выполняет мой следующий код.