Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2018, 11:49
Новичок на форуме
Отправить личное сообщение для a.kibets Посмотреть профиль Найти все сообщения от a.kibets
 
Регистрация: 10.04.2012
Сообщений: 1

Замена callback
Есть обработчик регулярной операции - получение данных из socket.io
В rq_pokr_sw находятся обработчики для различных "типов" пакетов.
В _param - полученые данные из сокета.

const rq_pokr_sw =
{
//
user_info: (_cmd, _res, _cod, _rq_param)=>
{
if(!_cod) return -1;
... тут выполняем
return 1;
},
//
users_list: (_cmd, _res, _cod, _rq_param)=>
{
if(!_cod) return -1;
return 1;
},
//
_default: (_cmd, _res, _cod, _rq_param)=>
{
debugger;
}

}


Когда приходит новый пакет с данными вызываем ........

// Вызываем по приходу каждого нового пакета
// В _param находится то что получили из сокета
const result = (rq_pokr_sw.hasOwnProperty(_param.rq_name) &&
rq_pokr_sw[_param.rq_name] ||
rq_pokr_sw['_default'])(_param.rq_name, _param.res, _param.cod, _param.rq_param);


Можно-ли как-то эту конструкцию обернуть в Promises или генераторы. И нужно-ли это делать !?
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2018, 23:07
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Пока нет колбэков второго уровня - перевод на промисы и иже с ними только усложнит код, вместо упрощения.)
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли так использовать callback функции? Denwf Node.JS 2 14.03.2017 10:20
Работы с callback функциями jenek_34 Общие вопросы Javascript 13 25.03.2015 12:03
Работа с textarea Rompo Events/DOM/Window 14 16.12.2013 17:41
Callback работает не так как я от него жду singaporian Общие вопросы Javascript 3 14.08.2013 00:42
В callback функции теряется контекст. Как это обойти? xintrea AJAX и COMET 4 02.06.2013 11:40