@JSlang

Страница 1300 из 2237
Vladimir
27.09.2017
12:34:17
В спеке прямо указано, что при получении ответа можно уточнить тип ошибки Как код статуса, так и просто response.ok
Это же неудобно. В месте где должна быть логика, в месте, где ты ожидаешь увидить логику работы с данными, будет висеть лишний обработчик

В любом случае, это вопрос подхода

Кому-то нравится, кому-то нет

Artyom
27.09.2017
12:34:57
Это вопрос восприятия fetch как инструмента. fetch - инструмент отправки запросов, а не их обработки

Google
Таймураз
27.09.2017
12:35:41
Кому-то нравится, кому-то нет
Тебе ничего не мешает написать свою функцию, которая за тебя все будет как ты хочешь обрабатывать И для этого не нужно тащить лишний модуль

fetch на промисах, у него достаточный функционал. Он даже за тебя может распарсить json-ку! Что еще для счастья нужно?)

Таймураз
27.09.2017
12:37:12
По секрету, как и JS
js на промисах?

Vladimir
27.09.2017
12:37:43
js на промисах?
Сорри, не уточнил, я про JSON)

Таймураз
27.09.2017
12:38:31
Я все равно тотально не въезжаю в то, что ты пытаешься донести

Есть вероятность, что я плохо знаю русский, но она стремится к нулю

Vladimir
27.09.2017
12:42:47
Я все равно тотально не въезжаю в то, что ты пытаешься донести
4xx - такая же ошибка, как, например, невалидный JSON, и она не должна делегироваться туда, где ты её не ожидаешь

Спор уровня tabs vs spaces

Нет желания продолжать

Таймураз
27.09.2017
12:43:35
Нет желания продолжать
Потому что ты в корне не прав Ошибки абсолютно разные. И если что-то позволяет отлавливать ошибки разного рода, это не значит, что они однотипны

Google
Таймураз
27.09.2017
12:45:30
Если тебе ответил сервер и сообщил, что на его стороне нет ошибок- каждая сторона справилась со своей задачей. Ты открыл соединение, отправил запрос и получил ответ. Какой ответ- другое дело. Если ты накосячил в чем-то с запросом (4хх явно на это намекает), значит ты должен разбираться, что не так. Инструмент по отправке запросов свое дело сделал. У него есть функционал проверки за тебя, какой статус у запроса

Vladimir
27.09.2017
12:45:39
Потому что ты в корне не прав Ошибки абсолютно разные. И если что-то позволяет отлавливать ошибки разного рода, это не значит, что они однотипны
Я не утверждаю, что они однотипны. Я утверждаю, что разборки должны происходить в месте, где ты это ожидаешь увидеть

Таймураз
27.09.2017
12:46:14
Я не утверждаю, что они однотипны. Я утверждаю, что разборки должны происходить в месте, где ты это ожидаешь увидеть
Плохо, что, глядя в спецификацию fetch-а, ты не можешь понять, где тебе нужно их разбирать

Честно, за то время, что мы тут батлимся, как правильнее делать, ты бы и спеку прочел, и сам свою обертку бы написал

Alex
27.09.2017
12:48:19
чего проще написать function myFetch(...args) { return fetch(...args) .then(response => { if (!response.ok) throw new Error(response.statusText); return response; }) }

Vladimir
27.09.2017
12:50:50
Закрываю тему генильных программистов, пойду молча писать на superagent

Peter
27.09.2017
14:26:18
fetch отстойный хотя бы тем, что не умеет отменять запросы

Ruslan ?
27.09.2017
14:44:29
"В соответствии с последним опросом StackOverflow 2017, React любят 67% опрошенных разработчиков, а AngularJS — 52%. “Отсутствие интересу к продолжению разработки” регистрирует большие значения для AngularJS(48%) в сравнении с React(33%). Далее, есть опрос statejs.com, сравнивающий “front-end фреймворки”. Касательно “удовлетворенности”, React набрал 92% для варианта “использовал бы снова”, Vue — 89%, Angular 2 — только 65%. Как насчет другого опроса об удовлетворенности пользователей? Эрик Элиотт запустил один в октябре 2016-го, чтобы оценить Angular 2 и React. Лишь 38% опрошенных людей использовали бы Angular 2 снова, в то время как 84% использовали бы снова React." https://habrahabr.ru/post/338068/

Виктор
27.09.2017
15:08:37
ПРивет! Никто не сталкивался случайно с ошибкой?



> TypeError: calling Promise constructor without new is invalid

Maksim
27.09.2017
15:18:38
Вроде русским по белому написано что не так

Таймураз
27.09.2017
15:46:10
ты вызываешь промис без new

Виктор
27.09.2017
15:46:35
да я понимаю - но код генерю не я - это TypeScript

с конфигом "target": "es5",

Таймураз
27.09.2017
15:47:11
new NavistorePromise

Виктор
27.09.2017
15:47:17
как создать класс дочерний от Promise?



Вот так вызывается - new есть

Google
Виктор
27.09.2017
15:47:56
2 часа мучаюсь, это еще мягко сказано)))

Таймураз
27.09.2017
15:48:14
Ты явно что-то не так делаешь короч

Уходи на flow

Виктор
27.09.2017
15:48:24
но подход правильный?

Таймураз
27.09.2017
15:48:52
я тебе не помощник Ближе к концу года только собираюсь изучать типизацию

это как тайпскрипт, но от фейсбука Если очень сильно обобщенно

Виктор
27.09.2017
15:49:19
ну вот я начал - решил очередной проектик на TS сделать

и че-то засел с этим

в php7 c типизацией разбирался месяц назад - там как-то подобных проблем не было...

Sergey
27.09.2017
15:52:36
Уходи на flow
лекарство от всех болезней?))

Frederīks «Cīsiņš»
27.09.2017
15:57:43
это шо?)
пиздатая штука, которая типы данных сверяет

Frederīks «Cīsiņš»
27.09.2017
15:58:05
если юзаешь CRA, она уже под капотом есть

Ruslan ?
27.09.2017
16:05:25
как создать класс дочерний от Promise?
2 часа мучаешься и ни разу не загуглил? https://www.google.ru/search?q=extend+promise

Peter
27.09.2017
16:12:58
а нахер вообще наследоваться от Promise?

Igor
27.09.2017
16:14:02
https://www.google.ru/search?q=extend+promise+why

Виктор
27.09.2017
16:14:25
а нахер вообще наследоваться от Promise?
Чтобы расширить своими свойствами / методами

Ruslan ?
27.09.2017
16:15:08
Именно это ни к чему и не привело
А первый результат поиска смотрел?

Peter
27.09.2017
16:15:09
Чтобы расширить своими свойствами / методами
расширить своими свойствами / методами, чтобы ... что?

Google
Виктор
27.09.2017
16:17:57
расширить своими свойствами / методами, чтобы ... что?
Чтобы можно было определить что промис уже порезолвлен или ещё нет. Или есть возможность под капотом?

А первый результат поиска смотрел?
Мерси, это что то новое, немного не так гуглил - дописывал ещё typescript и не было такого... щас не у компа не могу проверить

Котяй Негодяй
27.09.2017
16:23:43
Это же неудобно. В месте где должна быть логика, в месте, где ты ожидаешь увидить логику работы с данными, будет висеть лишний обработчик
Нет. Код ошибки — штатное, описанное проведение http. Реджект промиса должен происходить тогда, когда запрос по каким-то причинам не смог выполниться вообще. И что тебе мешает в следующем же then вернуть промис, завершившийся ошибкой? Одна строка кода.

Peter
27.09.2017
16:31:30
Чтобы можно было определить что промис уже порезолвлен или ещё нет. Или есть возможность под капотом?
хм, а чем не подходит просто подписаться на него и выставить соответствующую локальную переменную? какой вообще юзкейс такого метода?

Admin
ERROR: S client not available

Peter
27.09.2017
16:35:31
так же, как и Bluebird-промисы, но зачем - непонятно

надеюсь не для того, чтобы делать ад типа while(!promise.isFulfilled()) {} return promise.value()

Виктор
27.09.2017
16:40:52
Но да - это тоже решение, но если промисов станет 10 - то очень костыльное

Peter
27.09.2017
16:42:26
Никакого, также как вообще ООП не имеет смысла)))
да нет, я просто про то, что Promise - это по большей части механизм передачи данных, а не хранения, зачем передавать ниже сам промис вместо значения, которое он разрезолвил?

Но да - это тоже решение, но если промисов станет 10 - то очень костыльное
И часто есть необходимость разрезолвить c десяток разных промисов в одном месте? =)

Виктор
27.09.2017
16:44:19
У меня есть класс, в нем пачка аяксов. Класс могут дёргать разными его функциями внешние разработчики, это js-api для них. Последовательность вызова функций может быть любая. Но в функциях мне надо проверять стейт зависимых друг от друга аяксов

Rustam
27.09.2017
16:44:33
И часто есть необходимость разрезолвить c десяток разных промисов в одном месте? =)
когда потребуется - будешь использовать deferred-ы ещё наверняка или мучаться спромисами. У меня недавно была задача которая решалась удобно только с деферредами, промисы создавали безумие

Виктор
27.09.2017
16:45:10
И если промис уже отрезолвлен, я просто выполняю сразу какие то действия, а если нет - то использую then

Вот как то так сжато попытался объяснить

Igor
27.09.2017
16:45:46
await попробуй

Peter
27.09.2017
16:46:14
И если промис уже отрезолвлен, я просто выполняю сразу какие то действия, а если нет - то использую then
т.е. ты всё равно пишешь ветку then, какой тогда смысл в синхронном действии?

Rustam
27.09.2017
16:46:23
когда тебе требуется отрезолвить его в разных меcтах кода при разных условиях - то единвенный путь это deferred

Google
Peter
27.09.2017
16:47:45
что значит отрезолвить в разных местах? резолвится он один раз. Мб, ты имел в виду заиспользовать его значение в разных местах? Может, лучше в эти места кидать уже отрезолвленное значение?

Виктор
27.09.2017
16:49:05
т.е. ты всё равно пишешь ветку then, какой тогда смысл в синхронном действии?
А если промис уже отрезвлен и выполнится потом его then - который написан допустим через пару аяксов, мы в then попадём? Тогда наверно этого и достаточно... просто так никогда не делал и с промисами работал тока в ангуляре... кстати с defer можно решить походу да и с all()

Короче идей вагон теперь, всем спасибо, думаю вопрос решён)

Peter
27.09.2017
16:49:56
да, если подписываешься на отрезолвленный промис, колбек будет выполнен (но всё равно асинхронно!)

Rustam
27.09.2017
16:50:17
я имел ввиду создаешь объект сразу, а резолвишь где нужно

Виктор
27.09.2017
16:50:52
Я понял, короче спасибо, реально я чето перемудрил)))

Yaroslav
27.09.2017
16:55:00
Ребят, есть ли что-то еще на такую тему ? https://wtfjs.com/

Типо сборник странностей/интересностей на js

Danil
27.09.2017
16:59:19
как в three js закрасить внутреннью область обьекта?

Archer
27.09.2017
17:41:17
отвечай, ты спамер?

Dauren
27.09.2017
17:41:32
Нет)

Yaroslav
27.09.2017
17:41:46
Нет)
Я не буду у тебя ничего покупать

Archer
27.09.2017
17:41:58
а то в 3 группы одновремено зашёл

Oleg
27.09.2017
17:44:43
Работа от 80к в неделю для безработных тут не прокатит

Страница 1300 из 2237