gpt4 book ai didi

javascript - MetaMask - Angular 10 中的 RPC 错误 : Permissions request already pending,

转载 作者:行者123 更新时间:2023-12-05 00:30:26 24 4
gpt4 key购买 nike

我已将 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);
}
}

最佳答案

这个错误实际上是预期的;当您已经提交了权限请求,但用户尚未登录 MetaMask 或未授予您的应用程序权限时,就会发生这种情况。
如果用户登录 MetaMask 并接受权限请求,则不会再出现此错误。
这在 docs 中有解释。 , 上面写着 You should always disable the "connect" button while the connection request is pending (否则会发生此错误)。
这是处理此问题的一种方法:

  • 请求待处理时禁用按钮
  • 如果用户在某个等待时间(可能是 10-20 秒?)后仍未连接,请在按钮下方显示一条消息,要求用户完成 MetaMask 连接。

  • their docs here 中有更多信息和一个很好的例子.

    关于javascript - MetaMask - Angular 10 中的 RPC 错误 : Permissions request already pending,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64980778/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com