电子错误!承诺始终悬而未决!Session.getBlobData 方法踩到了陷阱!
最编程
2024-07-18 10:03:57
...
问题的起因
electron网络拦截的需求,开始试验方案时,发现的问题。
当我拦截的请求为上传文件post类型的请求时,偶尔会出现session.getBlobData
方法一直pending
的问题。
排查问题原因
首先api使用的方式是否正确
从request.uploadData
中取出的blobUUID
,在文档中就是要通过ses.getBlobData
获取。
那既然使用的没有问题,究竟是什么原因导致的 这个api时好时坏呢
问了chatGPT基本一无所获,在google时,有一个回答说如果上传的文件过大,会导致无返回。
于是乎回去尝试了一下,发现真™是这样!那问题的矛头就指向了electron自己本身了。
由于我使用的electron版本很老(12.1.1),现在版本都到30了,直接去搜issues,看看这个问题有没有open或已解决。结果如下↓
22年8月的版本,有一位大佬解决了这个bug。
就是这么两行代码呀!!
bug fixed的正式版 20.1.3
在electron@20.1.3
的版本中这个问题被正式修复上线了。大家可以正常使用啦!