Ahm*_*han 6 javascript angular metamask angular10
我已将 MetaMask 与 Angular 集成,在从代码中打开 MetaMask 扩展时出现此错误。
以下是我打开扩展的代码。我在单击打开 MetaMask 时调用此函数,它给出了该错误
MetaMask - RPC 错误:权限请求已挂起;请稍等。{code:-32002, message:“权限请求已待处理;请稍候。”}
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);
}
}
Run Code Online (Sandbox Code Playgroud)
Ala*_*tas 12
这个错误实际上是预料之中的;当您已经提交了权限请求,但用户尚未登录 MetaMask 或未授予您的应用程序权限时,就会发生这种情况。
如果用户登录 MetaMask 并接受权限请求,则不会再出现此错误。
这在文档中进行了解释,它说You should always disable the "connect" button while the connection request is pending(否则会发生此错误)。
这是处理这个问题的一种方法:
他们的文档中有更多信息和一个很好的示例。