MetaMask - RPC 错误:权限请求已经挂起,在 Angular 10 中
Posted
技术标签:
【中文标题】MetaMask - RPC 错误:权限请求已经挂起,在 Angular 10 中【英文标题】:MetaMask - RPC Error: Permissions request already pending, in Angular 10 【发布时间】:2021-03-06 21:32:56 【问题描述】:我已将 MetaMask 与 Angular 集成,并在从代码中打开 MetaMask 扩展时收到此错误。
以下是我打开扩展程序的代码。 我在单击时调用此函数以打开 MetaMask,它给出了该错误
MetaMask - RPC 错误:权限请求已挂起;请稍等。 代码:-32002,消息:“权限请求已挂起;请稍候。”
ethEnabled(template?): any
if ((window as any).web3)
(window as any).web3 = new Web3((window as any).web3.currentProvider);
(window as any).ethereum.enable();
console.log((window as any).ethereum.enable());
else
this.modalRef = this.modalService.show(template);
【问题讨论】:
【参考方案1】:这个错误实际上是预期的;当您已提交权限请求,但用户尚未登录 MetaMask 或未授予您应用的权限时,就会发生这种情况。
如果用户登录 MetaMask 并接受权限请求,则不会再出现此错误。
这在docs 中有解释,其中写着You should always disable the "connect" button while the connection request is pending
(否则会出现此错误)。
这是处理此问题的一种方法:
在请求挂起时禁用按钮 如果用户在一定的等待时间(可能是 10-20 秒?)后仍未连接,请在按钮下方显示一条消息,要求用户完成 MetaMask 连接。their docs here 中有更多信息和一个很好的例子。
【讨论】:
【参考方案2】:清除您的互联网缓存、临时文件等
【讨论】:
作为答案的一部分,您应该提供一个示例来说明如何完成“清除 Internet 缓存、临时文件等”。以上是关于MetaMask - RPC 错误:权限请求已经挂起,在 Angular 10 中的主要内容,如果未能解决你的问题,请参考以下文章
我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”
MetaMask - RPC 错误:错误:MetaMask Tx 签名:用户拒绝交易签名
MetaMask/json-rpc-middleware-stream
Plasm部署智能合约——配置MetaMask-RPC网络——2021.6.2