Никита
Window
.find()
.populate('creator')
.exec()
.then((windows) => {
W.Ed.
Promise.all копни
Yuriy
Или bluebird'овский Promise.map. При выполнении множества запросов может быть полезным ограничить их concurrency.
W.Ed.
у нас знаменательное кол-во участников в конфе собралось
Yuriy
Дык еще вчера. Кто-то даже пентаграмму выкладывал )
W.Ed.
>Golodnyi joined the group
W.Ed.
кто-то ушел, видимо
Vlad
Никита
Пробую c Promise.map
Window
.find()
.populate('creator')
.exec()
.then((windows) => {
Promise.map(windows, window => {
console.log('map');
let url = ...;
request(let, function (error, response, body) {
console.log('REQUEST');
return {
...
}
});
}).then(results => {
console.log("done", results);
return res.render('index', {user: req.user, myVar: results});
});
})
.catch((err) => console.log('Error: ', err));
порядок вывода такой:
map
done [ undefined ]
REQUEST
Yuriy
В теле map'а нужно вернуть промис. Либо сделай const request = Promise.promisifyAll(require'request'));, либо return new Promise(function (resolve, reject) { // тут дёргаешь resolve() в коллбэке реквеста }.
Yuriy
Window
.find()
.populate('creator')
.exec()
.then((windows) => {
Promise.map(windows, window => {
console.log('map');
let url = ...;
return new Promise(function (resolve, reject) {
request(let, function (error, response, body) {
console.log('REQUEST');
if (error) { return reject(error); }
return resolve({
...
});
});
});
})
.then(results => {
console.log("done", results);
return res.render('index', {user: req.user, myVar: results});
});
})
.catch((err) => console.log('Error: ', err));
Никита
Спасибо большое :)
Yuriy
Пожалуйста.
Никита
ещё вот такой вопросик немного не по теме. Как в массиве объектов найти объекты с одинаковым полем?
Evgeny
Для этого должен быть плагин jquery, определенно
Roman
:)
Alexander
hamper 𓅝
arr.reduce((r, x) => {r[x.field] ? r[x.field] = [x] : r[x.field].push(x); return r},{})
hamper 𓅝
вот так например, на выходе будет объект по ключам и в каждом ключе массив с этим ключом
Anonymous
гайз, а не подскажите, чем мигрировали с mysql на postgres? желательно на ubuntu или macos
Никита
Может я неправильно объяснил :)
Есть масив объектов:
[
{
a: {
b: 1,
c: 2,
d: [{
e: 4
}]
}
},
{
a: {
b: 1,
c: 7,
d: [{
e: 4
}]
}
},
{
a: {
b: 1,
c: 2,
d: [{
e: 14
}]
}
}]
например одинаковое поле 'e'
и хочется поулчить вот такой массив:
[
{
a: {
b: 1,
c: 2,
d: [{
e: 4
},
{
e: 4
}]
}
},
{
a: {
b: 1,
c: 7,
d: [{
e: 4
}]
}
}]
Aleksej
Может я неправильно объяснил :)
Есть масив объектов:
[
{
a: {
b: 1,
c: 2,
d: [{
e: 4
}]
}
},
{
a: {
b: 1,
c: 7,
d: [{
e: 4
}]
}
},
{
a: {
b: 1,
c: 2,
d: [{
e: 14
}]
}
}]
например одинаковое поле 'e'
и хочется поулчить вот такой массив:
[
{
a: {
b: 1,
c: 2,
d: [{
e: 4
},
{
e: 4
}]
}
},
{
a: {
b: 1,
c: 7,
d: [{
e: 4
}]
}
}]
это достаточно нетривиально
Aleksej
попробуй редюсом
hamper 𓅝
тут проблема что он вложенные структуры мержить хочет
Aleksej
ну как вариант - редюс, сравнивать структуры
hamper 𓅝
первое что в голову приходит это рекурсия
Aleksej
если похожие - то мерджить, если нет, то пушить в аккумулятор
Aleksej
но как сравнивать - это да, без рекурсии никак
Никита
я чего-то не могу придумать сюда рекурсию
Никита
Никита
известна
Aleksej
тогда не нужна рекурсия
Никита
https://i.gyazo.com/3b964856968493cfe495f5eb29fbd244.png
Никита
вот так генерируются объекты
Никита
я их на яндех мапах рисую
Никита
и так как координаты могут совпадать
Никита
объекты надо мерджить
Никита
вот
Aleksej
о, это получится не просто редюс
Aleksej
а мап редюс
Никита
я уже через редьюс сделал :)
Kanat
Привет всем
Kanat
Можете помочь?
Kanat
Сегодня положил себе на кошелёк, не учедэл комиссию, можете скинуть 20 руб?
VEgoshin
Конечно же нет!
Vlad
лол
Dmitry
и нужно быть толерантным к чужому коду и перфекционистом к своему)
Dreamerinnoise
хто нить работал с texturepacker?
Никита
А как лучше?
Vladimir
а еще не надо использовать геокодинг яндекса
Никита
😃
Никита
а какой лучше? гугловый?
Vladimir
Надо смотреть условия лицензии
Vladimir
У яндекса нет АПИ публичного по моему вообще
Vladimir
У гугла есть, но вроде бы есть требование использовать только для отображения на гугл картах
Vladimir
лучше все эти запросы с фронтэнда делать
Anonymous
ребята подскажите как лучше сделать есть функция генератор внутри нее вызывается другая(обычная в колбеке которой) нужно илднуть другой генератор
Anonymous
Все это обернуто в со
Vladimir
пример?
Anonymous
пример?
https://jsbin.com/vomoqoparo/1/edit?js,output
Игорь
Ребята всем привет. Я новичок в node.js. Посоветуйте пожалуйста хорошую сборку или обучающий материал. Чтоб была правильная структура, RESTApi, возможность генерации CRUD c консоли.
Алексей
попробуй Sails.js
http://sailsjs.org/documentation/reference/command-line-interface/sails-generate
Aleksey
Aleksey
Игорь
Спасибо))
Dmitry
я юзаю expressjs
Dmitry
четка и панятна
Vladimir
Vladimir
функция принимает обычный колбэк и вызывает его синхронно
Anonymous
Vladimir
никак
Alex
Vitaly
Mikhail
А никто не сталкивался с такой проблемой:
git reset --hard head~1
fatal: ambiguous argument 'head~1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Mikhail
По мануалам в инете не очень ястно