
Naught
12.07.2018
04:03:27
На принимающем скрипте экспресс роут, который кидает в консоль req.body , который {}
Такое ощущение, что request не ест то, что я ему сую.

Павел
12.07.2018
04:21:43
body: JSON.parse(data.toString(... ,
json: true,
Из доки к модулю request: "If json is true, then body must be a JSON-serializable object"

Google

Naught
12.07.2018
04:25:34

Sol
12.07.2018
05:48:02
как обороться с ситуацией, когда delete опережает предыдущую операцию? например:
let obj = jbo[key]
if (obj.num > 5) {...}
delete jbo[key]
периодически возникает ошибка, что .num не существует, потому что delete обогнал не только if но и let

Dzmitry
12.07.2018
05:54:57
смотрите код
это невозможно
все операции синхронны в данном примере
+ синхронные операции в приоритете всегда

Alexander
12.07.2018
05:58:37

Maks
12.07.2018
05:59:35
может стоит добавить проверку на существование объекта?
а периодичность ошибки, какбы сигнализирует, что гдето в ваш закрался рейс кондишен)

Sol
12.07.2018
06:02:12

Alexander
12.07.2018
06:02:48
Ну так сделай

Sol
12.07.2018
06:02:59
не, ну можно конечно заслонку поставить, но я надеялся обойтись без лишних задержек :(

Alexander
12.07.2018
06:03:44
Какую заслонку?
Нц да, лучше, чтобы код вылетал, нежели работал на 1 такт медленнее
В конце концов, вылетевший код сработает быстрее

Google

Sol
12.07.2018
06:05:57

Alexander
12.07.2018
06:06:27
Ты так троллишь с утра пораньше?
Если да, то хаха молодец

Sol
12.07.2018
06:07:09
?

Alexander
12.07.2018
06:11:15
А вообще да, надо быть тем ещё гением, чтобы итерироваться по объекту, из которого ты динамически удаляешь поля

Sol
12.07.2018
06:20:52
не так там. есть функция на вход которой подаётся ключ объект которого надо проверить на условия и удалить если соответствует. нету внутри никакого for только свич
function chandel(i) {
let obj = jbo[i] // некий глобальный объект, удалять из которого может только эта функция
if (obj.num >5) {
...
return
} else if...
return
}
delete jbo[i]
saveState (jbo)
return
}

Alexander
12.07.2018
06:21:12
Ах, уже этот объект глобальный

Dzmitry
12.07.2018
06:21:35
топ
мутабилити эз зис

Sol
12.07.2018
06:22:40
и каким-то макаром в момент let obj получает undefined

Maxim
12.07.2018
06:23:00

Alexander
12.07.2018
06:23:03
saveState асинхронная?

Sol
12.07.2018
06:23:05
нигде более delete нету

Alexander
12.07.2018
06:24:06
Ох
Ещё и синхронные обращения к fs

Sol
12.07.2018
06:24:56
да. только вот ошибка до обращения к диску

Alexander
12.07.2018
06:25:44
А вызывается этот метод как?

Sol
12.07.2018
06:26:45
вызывается из другой проги. это мидлварь. я думал может два раза вызывалось, но console.log сработал только 1 раз

Google

Sol
12.07.2018
06:27:42
и проявляется это нестабильно. может работать нормально а потом хоп и num не найден

Maks
12.07.2018
06:27:55
» function chandel(i)
откуда код, вызывающий эту функу, получает инфу о ключе?

Sol
12.07.2018
06:29:00
из другой функи, которая возвращает в прогу список ключей. причём она их действительно возвращает, сдя по log

Alexander
12.07.2018
06:31:09
Ну ты наворотил

Sol
12.07.2018
06:32:44
это не я наворотил :) просто есть чужая прога, которая последовательно дёргает разные методы в мидлвари. сначала один метод - получает ключи, потом анализирует эти ключи и дёргает другой метод, который должен удалить объект с таким ключом и т.д.
ладно, в принципе там скорость неважна, поставлю везде throttle

Alexander
12.07.2018
06:34:00
Чиго
Ну ладно, это твоё дело

Maks
12.07.2018
06:34:16
» один метод - получает ключи,
как он их получает? случайно не читает из файла?

Sol
12.07.2018
06:48:39

blaccyee
12.07.2018
06:49:42
Господа, помогите с верным синтаксисом sql. Есть запрос
let updateReq = 'UPDATE crm_requests SET date = ? WHERE phone = ?'; connection.query(updateReq,[arr['date'], arr['phone']], function(err, res){
Как написать такой
UPDATE crm_requests SET date = '2018-07-12', 'timestamp' = '123123' WHERE phone = '89257656851' and state = 'test'

Anton
12.07.2018
06:51:10

blaccyee
12.07.2018
06:51:32

Anton
12.07.2018
06:51:48
запрос есть, ставишь в функцию с запросом, знаки вопроса - плейсхолдеры

blaccyee
12.07.2018
06:51:56

Andry
12.07.2018
06:52:52
в том порядке, в котором идут знаки вопроса в строке запроса должны идти параметры в массиве параметров

blaccyee
12.07.2018
06:53:43

Andry
12.07.2018
06:53:55
либо можно именованные параметры использовать
UPDATE crm_requests SET date = :date WHERE phone = :phone тогда объект можно передавать { date: ... , phone: ... }

Anton
12.07.2018
06:54:22
именованные - не везде

blaccyee
12.07.2018
06:54:25

Anton
12.07.2018
06:54:45
что конретно непонятно то?

Google

Andry
12.07.2018
06:54:48
Так а как and тот же самый прописать?
вы же написали)
UPDATE crm_requests SET date = '2018-07-12', 'timestamp' = '123123' WHERE phone = '89257656851' and state = 'test'
UPDATE crm_requests SET date = ?, 'timestamp' = ? WHERE phone = ? AND state = ?
и передаём массив с 4 параметрами: date, timestamp, phone, state. По порядку

morheal
12.07.2018
06:55:39
Всем привет, подскажите кто сталкивался с генерацией pdf, какой пакет использовали?

blaccyee
12.07.2018
06:55:40
UPDATE crm_requests SET date = :date, 'timestamp' = :timestamp WHERE phone = :phone and state = :state
Я правильно понял?

Andry
12.07.2018
06:56:35

blaccyee
12.07.2018
06:56:46

Павел
12.07.2018
07:03:26

Sol
12.07.2018
07:06:45

Admin
ERROR: S client not available

Maks
12.07.2018
07:09:53

Alexander
12.07.2018
07:12:03

blaccyee
12.07.2018
07:12:14

Maks
12.07.2018
07:12:22

Alexander
12.07.2018
07:12:34

Павел
12.07.2018
07:16:17
function chandel(i) {
let obj = jbo[i] // некий глобальный объект
Там где этот объект используется, можно добавить проверку, чтобы пропускать пустые значения?

blaccyee
12.07.2018
07:22:34

Alexander
12.07.2018
07:23:23
он же тебе даже вывел кусок запроса, где синтаксическая ошибка. если ты хотел туда скормить не :phone, то у тебя точно ошибка

Sol
12.07.2018
07:24:55

blaccyee
12.07.2018
07:26:40

Alexander
12.07.2018
07:27:16
ну он не экранирован кавычками, как ты видишь

Google

Alexander
12.07.2018
07:27:20
и спасибо за номерок лол

blaccyee
12.07.2018
07:27:37

Ches
12.07.2018
07:29:40
подскажите где можно почитать можно ли использовать сейчас 10 ноду в продакшене?
или что вы думаете?)
через несколько месяцев в LTS уже будет

Anton
12.07.2018
07:29:57
mysql раньше не поддерживал именованные плейсхолдеры

Aion
12.07.2018
07:30:04

Ches
12.07.2018
07:30:23
мы решили обновится с 6, и я предлагаю сразу на 10

Aion
12.07.2018
07:30:38

Ches
12.07.2018
07:30:39
а пока собирались на 8

Alexander
12.07.2018
07:30:45
так если у тебя нет ничего, что можно использовать из 10, то возьми текущий лтс

Ches
12.07.2018
07:30:46
почему?

Aion
12.07.2018
07:30:57

Anton
12.07.2018
07:31:21
кроме новых фич и багов в ноду с обновлением версии завозят обновленный движок, что может увеличить производительность - если это критично

Ches
12.07.2018
07:31:42
ну приложение большое, поэтому думаю будет важно)

Aion
12.07.2018
07:31:45

Ches
12.07.2018
07:31:49
но и риски тоже)

Anton
12.07.2018
07:32:11

Ches
12.07.2018
07:32:14
в тоже время она у нас только для серверного рендеринга
а не как апи