【发布时间】:2023-03-05 23:18:01
【问题描述】:
我不明白为什么我需要在下面的“account”变量周围添加方括号,因为“accounts”变量构成了一个字符串。
export default {
name: 'App',
data () {
return {
web3: null,
account: null,
contractInstance: null
}
},
mounted () {
web3Cont().then((res) => {
this.web3 = res
this.contractInstance = new this.web3.eth.Contract(contractAbi, contractAddress)
this.web3.eth.getAccounts().then((accounts) => {
[this.account] = accounts
})
}
【问题讨论】:
-
这能回答你的问题吗? Array destructuring in JavaScript
-
谢谢 user120242。是的,我知道解构,但正如我在下面答案的评论中所解释的那样,我认为accounts变量不可能是一个数组(尽管变量是复数,可能是出于遗留原因),因为这构成了当前登录到 MetaMask 的帐户(应该是唯一的)(打印 accounts 变量也会打印单个帐户)。
-
docs.metamask.io/guide/accessing-accounts.html "如果返回数组中的第一个账号不是你期望的账号,你应该通知用户!以后,accounts数组可能包含多个账号。但是,数组中的第一个帐户将继续被视为用户的“选定”帐户。”
-
谢谢user120242!我错过了。
-
看到它是什么之后,我有点惊讶它没有多个帐户。无论是与钱包集合、浏览器用户配置文件还是 dApp 集合相关,默认显式支持多个帐户是有意义的
标签: javascript nodes ethereum metamask