Back to questions
Junior — Middle
93
Можешь ли ты привести примеры методов, обладающих идемпотентностью?
Answer from AI
sobes.tech AI
Идемпотентность означает, что многократное выполнение метода с одинаковыми входными данными не изменит состояние системы после первого вызова.
Примеры идемпотентных методов в Node.js:
- HTTP методы
GET,PUT,DELETEпо стандарту считаются идемпотентными. - Метод обновления записи в базе данных, который устанавливает конкретное значение, например:
app.put('/user/:id', (req, res) => {
// Обновляем пользователя с id
User.updateOne({ _id: req.params.id }, { name: req.body.name })
.then(() => res.send('Updated'));
});
- Метод удаления ресурса:
app.delete('/item/:id', (req, res) => {
Item.deleteOne({ _id: req.params.id })
.then(() => res.send('Deleted'));
});
Повторные вызовы PUT или DELETE с теми же параметрами не изменят состояние после первого успешного вызова, что и есть идемпотентность.