我只是在测试中发现了一个现象,暂时没有深入阅读钱包扩展的源码。
在每个交互周期内(页面 → 钱包扩展 → 页面),NasExtWallet.getUserAddress() 方法只能承载一个回调。也就是说,连续多次调用 NasExtWallet.getUserAddress(callback),最后一次注册的 callback 会覆盖之前的所有 callback。
比如有以下代码:
NasExtWallet.getUserAddress(function () {
console.log(1)
})
NasExtWallet.getUserAddress(function () {
console.log(2)
})
NasExtWallet.getUserAddress(function () {
console.log(3)
})
NasExtWallet.getUserAddress(function () {
console.log(4)
})
会在控制台得到 4 4 4 4,而不是 1 2 3 4。
Original issue: NasaTeam/Nasa.js#31