场景:

开发dapp应用,通过浏览器链接钱包插件MetaMask请求授权,授权请求没有及时处理,然后刷新将重新请求身份验证的网站(但MetaMask钱包插件窗口仍从上次调用中打开),从而导致上述错误提示(请求进行中),如下截图:

web3中 Request of type

问题产生原因:

当客服端发起“eth_accounts”请求的后,浏览器中扩展插件metamask钱包被唤醒弹出窗口打开,但用户没有点击下一步或取消,而是点击弹出窗口的外部(他们可能会尝试返回页面),所以此时弹出窗口在后台,按钮永远停留在加载状态。如果刷新浏览器,则可以单击该按钮,但它会拒绝并显示“wallet_requestPermissions”类型的错误请求已等待来源。

解决方式:

这只能在用户通过 MetaMask 图标工具栏手动打开扩展并单击下一步或取消从那里解决时才能解决,所以做一个条件判断,给一个提示。小伙伴们还有没有其他解决方式,请留言