Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
body: Any body that you want to add to your request: this can be a Blob, BufferSource, FormData, URLSearchParams, or USVString object. Note that a request using the GET or HEAD method cannot have a body.
Зачем вам синхронный запрос?На глупый вопрос глупый ответ. Синхронный запрос нужен чтоб запрос делался синхронно.
— в конце концов когда запрашивается модальное окно, то весь вьюпорт браузера обычно закрывают каким-нибудь полупрозрачным слоем, иногда с анимированным прелоадером. Что это как не имитация блокировки пользовательского интерфейса?

— обращение к какому-нибудь API обернутое просто в функцию которая просто возвращает значение, без нагромождения коллбэков или
— запросы в определенной последовательности или даже в цилке, без мороки с deffered
Анимированный индикатор прогресса, положим, вы сделаете на CSS, а вот какие-нибудь хитрые таймауты — уже нет.
Это уже от реализации JS в браузере зависит, нет? В принципе нет никаких причин, по которым JS должен крутиться на том же потоке, что и рендеринг, и обработка ввода.
Если клиент допустим 5 минут не присылал хартбиты, то подписка удаляется, но также есть возможность удалить ее принудительно, если клиент считает, что в ней нет надобности.
Это сугубо опциональная процедура, однако, если клиент начинает держать слишком много подписок — сервер это пресечет.
Какие далеко идущие выводы — до перезагрузки сервера… Смешно )
Поделитесь :)
На какие, по-вашему, объекты распространяется подписка, о которой говорю я?
Лимит не я контролирую, это данность и она не изменится. Понятия не имею, в чем логика.
Про Ваш юз-кейс — вы часто открывали 30 окон одного сайта?
И нет, ничего не сломается, подписки будут убиваться в неактивных вкладках и создаваться в активных.
У Вас есть опыт создания подобных приложений? Игр, чатов, мессенджеров? Серверных частей для этого? Или Вы просто умозрительно рассказываете?
если вы не контролируете сервер, то о чем вообще говорить
Вот именно.
function status(response) {
if (response.status >= 200 && response.status < 300) {
return Promise.resolve(response)
} else {
return Promise.reject(new Error(response.statusText))
}
}
function status(response) {
// свойство ok = true, когда status в диапазоне 200-299
if (response.ok) {
// не надо лишний раз оборачивать Promise в Promise
return response;
} else {
// здесь можно просто кинуть exception
throw new Error(response.statusText);
}
}
function status(responce) {
// ...
}
fetch('users.json')
.then(status)
//...
Читаю и не понимаю в каком мире живут разработчики стандарта...
Невозможно отменить и невозможно получить прогресс — все, можно сразу закапывать, потому что в этих случаях придется использовать XHR и тогда лучше использовать только его. Едиственное достоинство это стримы, но они нужны далеко не всем.
Введение в fetch