我正在使用WritableStream
处理数据块,解码的数据是一个json字符串,如果它以,
开头,我需要删除逗号。
但问题是,在块被解码为字符串之后,我检查第一个字符
const startsWithComma = chunk.at(0) === ','
并且有时候它返回true,尽管块没有以,
开始,并导致JSON.parse
稍后失败。
我尝试过的事情:
- 使用
.at()
替代项,如.charAt()
、.startsWith()
、chunk[0]
该问题是间歇性的,这意味着有时它可以处理整个数据,有时可能中途失败。
1条答案
按热度按时间ut6juiuv1#
因此,我的评论如下:
从你的图像,是它的可能性,这调试是运行后,这逗号已经被取出?是它的也可能性,这chunk可能开始与超过1逗号,所以有时调试在那确切的斑点将仍然显示一个逗号?
解决方案是使用while循环去掉逗号,例如
现在我不知道为什么要这样做if
isFirstChunk
,所以我不去管它,但是上面的循环应该可以解决您的startsWithComma
问题:D