【发布时间】:2019-05-19 16:29:28
【问题描述】:
我有一个代码,只有两种情况 - 数据是字节格式/文本格式。只有在启动时或很少我可能会收到文本数据。因此我编写了如下代码:-
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 会执行几百次,而 text 在会话期间只执行一次或两次。对每种数据格式进行 if 检查很麻烦,因为每次我们浪费计算来了解数据格式。
我检查并执行 try...catch 。但我无法得到正确的结果。请有人建议如何重构此代码以提高性能。谢谢!
【问题讨论】:
标签: javascript if-statement exception-handling try-catch