169 похожих чатов

Привет всем, Есть данные, приходящие от бэка, типа {controller: 'l1',

//(or l2, l3, l4)
status: '#M,IN,011111'} //(or other ones I check in if statements)

Там несколько контроллеров, данные от каждого идут с разными статусами и сложить, точнее разложить мне эти данныыве нужно в объект по контроллерам:

{l1: {in1: 1, in2: 0, ...}, l2: {in1:0, ...}, l3: {in1:1, ...}, l3: {...}, l4: {...}}

Вот фрагмент компонента:

{
this.wsSubscription =
this.controlService.createObservableSocket(this.awsUrl)
.subscribe(
data => {
if(data.cotroller == 'l1') {
if(data.status.startsWith('#RD')){
this.status.l1.in1 = data.status[4];
this.status.l1.in2 = data.status[5];
this.status.l1.in3 = data.status[6];
this.status.l1.in4 = data.status[7];
this.status.l1.in5 = data.status[8];
this.status.l1.in6 = data.status[9];
console.log('Состояние RD L1 обновлено');}

if (data.status.startsWith('#M,EIN')) {
switch (data[7]) {
case 1 : {this.status.l1.in1 = data.status[9]; break}
case 2 : {this.status.l1.in2 = data.status[9]; break}
case 3 : {this.status.l1.in3 = data.status[9]; break}
case 4 : {this.status.l1.in4 = data.status[9]; break}
case 5 : {this.status.l1.in5 = data.status[9]; break}
case 6 : {this.status.l1.in6 = data.status[9]; break}
}
console.log('Состояние M EIN L1 обновлено');
}

if(data.status.startsWith('#M,IN')){
this.status.l1.in1 = data.status[6];
this.status.l1.in2 = data.status[7];
this.status.l1.in3 = data.status[8];
this.status.l1.in4 = data.status[9];
this.status.l1.in5 = data.status[10];
this.status.l1.in6 = data.status[11];
console.log('Сотсояние M IN L1 обновлено');}
}
},
err => console.log( 'err: ' + err),
() => console.log( 'The observable createObservableSocket is complete')
);

Получается весьма длинный код даже для одного компонента с несколькими условиями, а в перспективе и статусов будут десятки, и контроллеров будет много, есть способ компактнее это сделать?

1 ответов

12 просмотров

Причем здесь тайпскрипт?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта