что такое имитация запроса? mock request?
В момент отправки запроса на сервер (имитация), заблокировать кнопку как заблокировать кнопку я понимаю но что такое имитация запроса
Я использую js/react если это важно
Ответы (1 шт):
Имитация, это то что не является настоящим, в данном случае запрос на сервер который не отправляется на сервер, а обрабатывается заглушкой, в приведенном ниже примере первый запрос реальный, второй - имитация (mock) и оба они ссылаются на один и тот же url (REST API).
Как именно реализовывать mock запросы зависит от библиотеки тестирования либо желания разработчика. В данном случае я для большей наглядности переписал функцию fetch что в реальном проекте делать не желательно.
Думаю в Вашем случае подойдет любая асинкхронная thenable функция,
типа приведенной мной, но имеющая другое имя, например fakeFetch, перед ее вызовом Вы блокируете кнопку, в каком-то из then методов снова разблокируете ее.
Идея моков используется либо в тестировании, либо в разработке, например чтобы разные разработчики не зависили друг от друга, они имитируют что программные части которые реализуют другие разработчики уже написаны.
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json =>
document.querySelector('#real').textContent =
JSON.stringify(json, null, 2)
)
fetch = async(url) => {
return await Promise.resolve(
{
json: () => Promise.resolve({fake: "wake up, Neo!"})
}
)
}
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json =>
document.querySelector('#imitation').textContent =
JSON.stringify(json, null, 2)
)
<div>
<span>реальный запрос</span>
<pre id="real">
1
</pre>
</div>
<div>
<span>имитация</span>
<pre id="imitation">
2
</pre>
</div>