前两天遇到这么一个错误

image.png

发现有时是几率性复现,其实是uri不合法导致的

可以用下面这个方法,绕开这个问题

try{
    a = decodeURIComponent(uri);
}catch(eror){
    a = uri;
}

当url不合法时,就不需要解码了,这个方法比下面这个方法成本低的多

if(isURI(uri)){
    a = decodeURIComponent(uri);
}else{
    a = uri;
}