
DimenSi
11.10.2018
20:25:21

Roma
11.10.2018
20:25:32
Есть такие, кто работал с multer? там когда настраиваешь distination, он в параметрах принимает req, но почему-то у меня посточнно req.body пустой

Andrew
11.10.2018
20:25:54

Дмитрий
11.10.2018
20:26:00
А в чем нестабильность?
Четыре стрима: A, B, C, D
A → B
A → C
B → D
C → D
Результат — у D будет два разнесённых во времени события вместо одного

Google

DimenSi
11.10.2018
20:26:00

Aga
11.10.2018
20:26:06

DimenSi
11.10.2018
20:26:22

Roma
11.10.2018
20:26:35
const storage = multer.diskStorage({
destination: function(req, file, cb) {
console.log('REQUEST', req);
cb(null, __dirname + "/public/" + req.body.path);
},
filename: function(req, file, cb) {
cb(null, file.originalname);
}
});

Andrew
11.10.2018
20:27:01

Roma
11.10.2018
20:27:02
мне надо динамически создавать папки для хранения и я в запросе получаю путь для новой папки

Aga
11.10.2018
20:27:16

Nikolay
11.10.2018
20:27:19

Roma
11.10.2018
20:27:20
но всегда req.body пустой

Дмитрий
11.10.2018
20:27:35

Alex
11.10.2018
20:27:40

Aga
11.10.2018
20:27:46
У меня на данный момент 1, хз будут ли еще

Дмитрий
11.10.2018
20:27:58
Ну это вообще ни о чем)

Google

Nikolay
11.10.2018
20:28:06

Дмитрий
11.10.2018
20:28:13
Вообще то да
Это проблема именно стримов, они сломаны by design

DimenSi
11.10.2018
20:28:48
В смысле
если делать реализацию промиссов на таймерах

Andrew
11.10.2018
20:28:57

Nikolay
11.10.2018
20:29:41

Дмитрий
11.10.2018
20:29:47
Стримы — это просто необходимое но не достаточное условие, если голые стримы ничего не уравновешивает, то в рутину войдут бесконечные циклы

Andrew
11.10.2018
20:31:01
Вообще-то это ж просто другое представление колбэков

Nikolay
11.10.2018
20:32:10

Alex
11.10.2018
20:32:33

DimenSi
11.10.2018
20:34:01
Почему?
У всех браузеров перед выполнением таймера задержка в 4мс . Нужно использовать другое решение, чтоб создать асинхронность

sk
11.10.2018
20:34:16
созрел вопрос, почему говорится что коа и сэйлс мощнее чем экспресс

Alexander
11.10.2018
20:34:29
Опять

sk
11.10.2018
20:34:48
?

Дмитрий
11.10.2018
20:35:03
Платиновые треды

DimenSi
11.10.2018
20:35:37
упс, прочитал, быстрей, а не мощней

Дмитрий
11.10.2018
20:35:38
А express на connect, а connect на http

Alex
11.10.2018
20:35:56

Google

DimenSi
11.10.2018
20:38:55

Alex
11.10.2018
20:40:17

Alexander
11.10.2018
20:41:22

DimenSi
11.10.2018
20:41:27

Alex
11.10.2018
20:44:04

Alexander
11.10.2018
20:45:49

DimenSi
11.10.2018
20:45:58
типо что быстрей выполнит 100 функций, таймер или immediate

Alex
11.10.2018
20:46:48

Дмитрий
11.10.2018
20:47:43
ric / raf
requestAnimationFrame / requestIdleCallback

DimenSi
11.10.2018
20:48:53

Дмитрий
11.10.2018
20:49:39
Нет, но это удобная абстракция, так что можно библиотеки или полифиллы заюзать

Сергей
11.10.2018
20:54:48
В смысле?
диспатчнул событие в компоненте A
куда дальше смотреть?
его может хэндлить любая сага в проекте, и так просто это не узнать
при этом пара саг может продолжить работать, а пара других остановиться
и это всё максимально неявно.
пока не прочитаешь весь код проекта несколько раз об этом не узнаешь
а если проект большой, то это всё не запомнишь и будешь долго резолвить причину багованного поведения

Aga
11.10.2018
20:55:44
Но если грамотно подойти к этому вопрос, храня в action'e данные о саге, то думаю можно будет избежать проблем


Vitaliy
11.10.2018
20:56:32
Здраствуйте есть одна проблема с промисами, уже очень сильно заебался поэтому прошу мне помочь :
Есть функция :
const reqObj = (url, callback) => {
return new Promise((resolve, reject) => {
request(url, function(err, res, body) {
if (!err) {
resolve(
res
);
} else {
reject(err);
}
});
});
};
module.exports = reqObj;
Вот ее вызов в другом файле:
function custom (opts) {
if (!opts || !opts.id) {
throw err ('Please Write an id')
}
const url // url
const callback // - здесь функция callbacka удалил чтобы место не забирать
}
request(url, callback)
.then(res => res)
}
module.exports = custom;
потом функция custom вызывается в express.js
const express = require('express');
const ig = require('../app/index.js');
router.get('/store/:id', async (req, res) => {
var template = { id: req.params.id };
igScrap.customStories(template)
.then(res => console.log(res)
});
что дает ошибку (node:2172) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'then' of undefined
Я понимаю что может я тупой и все делаю не так, и вообще по жизни лох.
НО КТО МОЖЕТ ПРОШУ ПОГОМИТЕ И ОБЬЯСНИТЕ !


Сергей
11.10.2018
20:56:40

Google


Сергей
11.10.2018
20:56:46
Здраствуйте есть одна проблема с промисами, уже очень сильно заебался поэтому прошу мне помочь :
Есть функция :
const reqObj = (url, callback) => {
return new Promise((resolve, reject) => {
request(url, function(err, res, body) {
if (!err) {
resolve(
res
);
} else {
reject(err);
}
});
});
};
module.exports = reqObj;
Вот ее вызов в другом файле:
function custom (opts) {
if (!opts || !opts.id) {
throw err ('Please Write an id')
}
const url // url
const callback // - здесь функция callbacka удалил чтобы место не забирать
}
request(url, callback)
.then(res => res)
}
module.exports = custom;
потом функция custom вызывается в express.js
const express = require('express');
const ig = require('../app/index.js');
router.get('/store/:id', async (req, res) => {
var template = { id: req.params.id };
igScrap.customStories(template)
.then(res => console.log(res)
});
что дает ошибку (node:2172) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'then' of undefined
Я понимаю что может я тупой и все делаю не так, и вообще по жизни лох.
НО КТО МОЖЕТ ПРОШУ ПОГОМИТЕ И ОБЬЯСНИТЕ !
удали простыню и залей в гист


Vitaliy
11.10.2018
20:57:03


Alexander
11.10.2018
20:58:18
Здраствуйте есть одна проблема с промисами, уже очень сильно заебался поэтому прошу мне помочь :
Есть функция :
const reqObj = (url, callback) => {
return new Promise((resolve, reject) => {
request(url, function(err, res, body) {
if (!err) {
resolve(
res
);
} else {
reject(err);
}
});
});
};
module.exports = reqObj;
Вот ее вызов в другом файле:
function custom (opts) {
if (!opts || !opts.id) {
throw err ('Please Write an id')
}
const url // url
const callback // - здесь функция callbacka удалил чтобы место не забирать
}
request(url, callback)
.then(res => res)
}
module.exports = custom;
потом функция custom вызывается в express.js
const express = require('express');
const ig = require('../app/index.js');
router.get('/store/:id', async (req, res) => {
var template = { id: req.params.id };
igScrap.customStories(template)
.then(res => console.log(res)
});
что дает ошибку (node:2172) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'then' of undefined
Я понимаю что может я тупой и все делаю не так, и вообще по жизни лох.
НО КТО МОЖЕТ ПРОШУ ПОГОМИТЕ И ОБЬЯСНИТЕ !
Ну либо request либо igScrap.customStiries являются undefined


Сергей
11.10.2018
20:58:38

Aga
11.10.2018
20:58:47
signin_someaction

Сергей
11.10.2018
20:59:18
Почему же?)
ну эм.
компонент диспатчит экшен
И что же, мы в экшен будем писать какая сага его должна вызвать?

Vitaliy
11.10.2018
20:59:32

Aga
11.10.2018
20:59:44
Ты экспортируешь название экшна из actions, верно?

Сергей
11.10.2018
21:00:07
Так смотри
слушай.
Я на саги потратил много своего времени.
И саги не решают никакой проблемы
кажется, что они помогают решить повторяющиеся запросы

Aga
11.10.2018
21:00:33
С сокетами вроде норм зашло

Alexander
11.10.2018
21:00:39

Aga
11.10.2018
21:00:54
А есть достойная альтернатива?

Сергей
11.10.2018
21:00:56

Дмитрий
11.10.2018
21:01:03
const signedIn = createEvent()
signedIn.watch(e => console.log('trigger'))

Vitaliy
11.10.2018
21:01:11

Сергей
11.10.2018
21:01:16

Дмитрий
11.10.2018
21:01:22

Google

Aga
11.10.2018
21:01:36

Сергей
11.10.2018
21:01:55

Aga
11.10.2018
21:02:48

Сергей
11.10.2018
21:03:20

Дмитрий
11.10.2018
21:03:50
Мне нравятся, пока их не используют как ad hoc async await

Aga
11.10.2018
21:04:01

Дмитрий
11.10.2018
21:04:17
Главное грести в ритм

Alexander
11.10.2018
21:04:25

Сергей
11.10.2018
21:04:26

Vitaliy
11.10.2018
21:06:04

Alexander
11.10.2018
21:07:42

Vitaliy
11.10.2018
21:08:57

Alexander
11.10.2018
21:09:03
И у тебя в reqObj нигде коллбек не представлен. Промисы как бы для того и созданы, чтобы избавиться в подобного рода функциях от коллбеков

Vitaliy
11.10.2018
21:10:03

Alexander
11.10.2018
21:10:43

Vitaliy
11.10.2018
21:12:02

Alexander
11.10.2018
21:12:34
Ну так и есть. Но это не значит, что внутри экспресса нельзя работать с промисами

Andrew
11.10.2018
21:12:36
приди и плюнь им в лицо