В своем реактивном проекте я создал холст, который могут обновлять несколько пользователей.Я использую реагировать, экспресс и мангуст.Когда я хочу очистить холст, у меня есть функция clearDB () в компоненте App.js моего внешнего интерфейса.
clearDB()
{
alert('Clearing Database')
return fetch(reseturl, {method: 'DELETE'})
.then(res => res.json())
.then(res => {
alert('Deleted:', res.message)
return res
})
.catch(err => console.error(err))
}
это вызывается прослушивателем событий, инициированным в componentDidMount, когда пользователь нажимает 'z';
В моем экспресс-сервере.
app.delete("/reset", function(req, res) {
console.log("delete request sent ");
db.dropCollection("dots", function (err, delOK) {
if (err) {
console.log("error delete collection");
return res;
} if (delOK) {
console.log("delete collection success");
return res;
}
return res
});
return res
});
Проблема заключается в том, что коллекция очищается сразу после нажатия клавиши' z ', показывая как опции HTTP на выходе сервера, иснова как УДАЛЕНИЕ около минуты спустя.Это первый вывод, который появляется, как только слушатель события берет нажатие клавиши.
OPTIONS /reset 204 0.320 ms - 0
delete request sent undefined
delete collection success<--(the log from the clearDB function)
GET /message 200 2.022 ms
Затем, примерно через 2 минуты
POST /message 200 2.293 ms - 16
DELETE /reset - - ms - -
delete request sent undefined
delete collection success<--(the log from the clearDB function, again!)
POST /message 200 372.026 ms - 16
Холст очищается дважды. Пожалуйста, помогите.Ни у кого, похоже, нет этой проблемы!