
Каїн
15.02.2017
14:40:00
убери из резолва чтобы не путать
вынеси в фабрику

Nikita
15.02.2017
14:41:41
Да ,попробую так. Кстати первый промис тоже стал 2 раза вызываться ,но я полагаю ,это из-за моей криворукости. Надо будет подебажить подробнее

Каїн
15.02.2017
14:42:04
скорее ты его где то вызываешь еще раз

Google

Каїн
15.02.2017
14:42:14
дебажь

Nikita
15.02.2017
14:43:43
А какой способ грамотнее с точки зрения архитектуры? с передачей промиса в качестве зависимости во второй или с одним промисом и логикой в сервисе?

Каїн
15.02.2017
14:44:02
грамотнее в конфигурации юи роутера писать 1 резолв
а бизнес логику сохранять в фабрике
где будет 1 метод resolveRoute - который и отвечает за возвращение верных данных и условий
+ ты могешь управлять очередью
резолвы между собой независимы и не прервут друг друга а тем более выполняться не будут в очереди определения
единственный + резолвов - каждый можно написать в inject контроллера роута
но зато если писать только один - это консолидация описания корнтроллеров - ты не паришься что там за список неебический резолвов, у тебя resolveData = {} с данными которые необходимы для работы

Nikita
15.02.2017
14:48:32
Ну я там данные в контроллер из резолвов не передаю ,а по факту вызываю методы сервисов ,которые записывают данные в свою модель. А уже при инициализации контроллера роута подтягиваю эту модель из сервиса. Это норм подход с вашей точки зрения?

Каїн
15.02.2017
14:50:40
вполне
но выходит у тебя метод getUsers возвращает промис и данные юзеров и после удачной записи они присваиваются в какую то проперти?

Nikita
15.02.2017
14:52:32
Ну вот логаутЮзер у меня - который первый промис - он чистит модель о юзере

Google

Ivan
15.02.2017
14:52:33
а чем резолв в маршруте лучше внедрения сервиса в контроллер компоненты (которая будет отрендерена при переходе по маршруту) и вытягивание основных данных после инициализации компоненты?
Опять же крутилку какую-нибудь можно повесить.

Каїн
15.02.2017
14:53:13
ну ему же не нужно показывать роут если данные не получены
и бросить на 404 или еще куда то
это прямая конфигурация роута

Ivan
15.02.2017
14:54:14
логично

Каїн
15.02.2017
14:54:20
страница же не компонент
это а1 а не реакт
хотя,ui-view уже директива
кек, и вот и отображается только при удачном резолве
у меня нету моделей данных. у меня все в $cacheFactory пишется по ключу - название метода

Ivan
15.02.2017
14:56:22
у роута вроде есть template, туда можно передать '<my-component></mycomponent>'

Каїн
15.02.2017
14:56:43
и всегда возвращает промис - а вот промис уже решает создавать ли $http.get или же возвращать данные с кеша

Ivan
15.02.2017
14:57:19
а вот редирект кудалибо в catch - это интересный момент

Каїн
15.02.2017
14:57:56
в юи роутере нету catch как такового, только глобальные stateChangeSuccess и тд
потому никто и не любит а1
столько способов, никакой стандартизации
а потом рассказываешь как делал 404 через ивенты вместо otherwise

Nikita
16.02.2017
10:15:15
/stat@combot

Combot
16.02.2017
10:15:15
combot.org/chat/-1001024737789

Google

Nikita
16.02.2017
10:15:21
/stat@combot

Combot
16.02.2017
10:15:22
combot.org/chat/-1001024737789

Nikita
16.02.2017
10:24:58
Сорри ,ребят ,такая задача. Нужно чтобы метод ,указанный в примере возвращал результат в виде промиса. Причем внутри него выполняются 2 запроса ,зависимые друг от друга. Мне нужно вернуть промис второго запроса ,если первый отрезолвился или промис первого ,если он отрежектился. Правильно ли делать так? - http://codepen.io/webnikler/pen/BpEzOq

Vlad
16.02.2017
12:37:37
К примеру async await

Nikita
16.02.2017
12:44:29
Спасибо за совет ,попробую с помощью async / await переписать

Алексей Ayaye :)
16.02.2017
13:59:31
нубский вопрос: как использовать переменную цикла ng-repeat в filter: вложенного ng-repeat? в биндингах могу, а в фильтре - нет (

Nikita
16.02.2017
14:25:04
Ребят ,такой вопрос. Есть например такая штука: httpPromise1().then(() => httpPromise2()).catch((err) => console.log(err)). Я правильно понимаю ,что чтобы из httpPromise2 перейти в catch у httpPromise1 ,нужно у этого httpPromise2 в catch вернуть $q.reject? То есть мы так должны для каждого вложенного промиса вызывать catch и там явно делать $q.reject ? Или может есть еще способы избежать ситуации ,когда вместо reject прилетает resolve ?
Разобрался. В общем ,если внутри then(callback) или catch(callback) будет возвращено любое значение ,отличное от $q.reject() ,то далее в цепочке промисов мы никогда не попадем в cacth ,даже если обещание было rejected. Для того ,чтобы из внутреннего catch попасть во внешний в цепочке промисов ,нужно явно сделать реджект с помощью $q.reject()

Алексей
17.02.2017
09:39:34
Для тех кто хочет переехать на Angular оставаясь на AngularJS
https://github.com/ngParty/ng-metadata

Alex
17.02.2017
09:42:00
@Ai_boy как там транслятор из 1 в 2 поживает?)

Алексей
17.02.2017
09:43:13

Alex
17.02.2017
09:44:13
на РИТе в этом году?)

Anton
17.02.2017
09:44:36
http://stackoverflow.com/questions/24876944/angularjs-watch-an-object-property-in-an-object-array
Господа, с 14-го года в ангуляре появилось какое-то более адекватное решение по слежению за элементом массива или свойством объекта? Чтобы выдывало newValue и название свойства в объекте или номер элемента в массиве
потому что по ссылке какой-то дикий костыль

Алексей
17.02.2017
09:45:09
на РИТе в этом году?)
Да если доклад примут ( я там в докладе покажу чего удалось добится ) ну а так да. Подходи потом раскажу все в деталях.

Каїн
17.02.2017
09:46:08
Но там нету инфы по ключах кажется
Но любая диф либа поможет

Anton
17.02.2017
09:50:27
WatchCollection тот же watch, только на 10 букв больше, если реально смотреть на пользу, которую он приносит

Google

Anton
17.02.2017
09:50:38
ну это ололо конечно, ладно, придётся писать костыли

Каїн
17.02.2017
09:53:45
Ну нативных дифов же нет

Admin
ERROR: S client not available

Каїн
17.02.2017
09:54:29
Вернее были
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/observe

Ivan
17.02.2017
11:20:10
очень много зависит от задачи. Например каждый элемент коллекции можно представить в виде компоненты, которая через односторонний биндинг получает сам элемент. в методе $onChange добавить обработку изменений - например выкидывать ивент наружу или дёргать какой-либо метод, переданный через биндинг.


Anton
17.02.2017
11:33:32
«вероятнее всего вы что-то делаете не так»
через ng-repeat выводятся папки с файлами, в каждую отдельную папку можно загружать файл через отдельный инпут, соответственно надо отслеживать массив, чтобы с одного инпута всё не перешло на остальные

Ivan
17.02.2017
16:31:28
немного не понятно. Есть папка, у папки инпут, выбираем в нём файл и загружаем его на сервер.
Как с одного инпута что-то перейдёт на остальные? Возможно ли картинку увидеть?
Уверен что можно решить не отслеживая массив.

Combot
18.02.2017
08:08:50
combot.org/chat/-1001024737789

Anton [Mgn, az09@osm]
18.02.2017
08:14:59

Alexey
18.02.2017
08:42:40

Anton [Mgn, az09@osm]
18.02.2017
08:46:08
Значит там можно про 2, а тут нельзя?)
А, там оказывается едва заметный ² в лого

Alexey
18.02.2017
08:48:38

Anton [Mgn, az09@osm]
18.02.2017
08:51:42
Почему-то там в полтора раза больше людей
Возникает вопрос почему бы всем не сидеть в мясо-молочном, а из молочного ливнуть ?

Виктор
18.02.2017
08:54:06
и захерачить туда еще прогеров по Свифту, Си++ и Делфи - чтоб не скучали
Java забыл сори

Google

Anton [Mgn, az09@osm]
18.02.2017
08:58:03
Это уже овощно-штучно-бакалейно-мясо-молоный получится. Перебор )

andretshurotshka?❄️кде
18.02.2017
09:05:37

Артем
19.02.2017
07:00:29
Ребят не подскажите как мне подружить Ангулар а именно ngResource с Джангой, для пост запросов нужно чтобы в ангуляре был настроен csrf token
Вот такое не работает
app.config(['$resourceProvider', function($resourceProvider) {
$resourceProvider.defaults.xsrfCookieName = 'csrftoken';
$resourceProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
}]);
подскажите плиз
а все уже настроил перепутал с $httpProvider

Алексей
19.02.2017
09:14:34
/stat@combot

Combot
19.02.2017
09:14:34
combot.org/chat/-1001024737789

Алексей
19.02.2017
09:14:39
/stat@combot

Combot
19.02.2017
09:14:40
combot.org/chat/-1001024737789

Ilya
19.02.2017
16:20:10
Кто работает с Зеплином?
Отметьте на кнопку, нужно подсчитать, сколько нас)

Nikita
20.02.2017
08:00:02
Кто с байбелем работает? Такой вопрос. Загружаю babel-core ,babel-loader, babel-preset-latest. В кофиге лоадера пишу presets: ['latest']. И чертова куча ошибок в консоль вываливается по типу "Module build failed: TypeError: [BABEL] C:\... Invalid options type for C:\..." .. При presets: ['es2015', 'es2016'] работает норм ,не ругается. Кто сталкивался?