Как выполнить команду многократно и выполнить другую, когда возникает ошибка, не всегда проверяя условия? - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть код, как будто есть только 2 сценария - данные имеют формат байтов / текстовый формат.Только в самом начале или очень редко я могу получить текстовые данные.Поэтому я написал код, как показано ниже: -

if (message.type === 'utf8') {
   console.log(message.utf8Data);
 }
if (message.type === 'binary') {
    dataStream.write(message.binaryData);
 }

Теперь я хочу изменить код, где по умолчанию он принимает двоичный тип и переходит к

dataStream.write(message.binaryData); 

, и если типнесоответствие или ошибка, которую он должен выполнить

console.log(message.utf8Data);

Пожалуйста, не предлагайте никаких условий if else, поскольку это дорого, так как dataStream выполняется несколько сотен раз, в то время как текст выполняется только или дважды во время сеанса.Выполнение проверки if для каждого формата данных является обременительным, так как каждый раз мы тратим вычисления, чтобы знать формат данных.

Я проверил, чтобы попытаться ... поймать его.Но я не смог получить надлежащих результатов.Любопытно, кто-то предлагает, как реорганизовать этот код для повышения производительности.Спасибо!

1 Ответ

0 голосов
/ 19 декабря 2018
try {
  dataStream.write (message.binaryData); 
} catch (err) {
  // if an exception occurres print the data instead
  console.log (message.utf8Data); 
}
...