当我调用Ghash函数时,我得到了一个承诺,我需要得到这个承诺的结果,它是一个散列,没有那个哈希,我就无法得到我想要的图像。
async function Ghash(name){
let res = await fetch(`https://account.imperiomc.click/${name}.json?`+new Date().getTime()), json = await res.json(), hash, skin;
if (json.skins.slim != null){
hash = await json.skins.slim
skin = "Alex"
} else {
hash = await json.skins.default
skin = "Steve"
}
console.log("Skin model is "+skin)
return hash
}
function populateAuthAccounts(){
const authAccounts = ConfigManager.getAuthAccounts()
const authKeys = Object.keys(authAccounts)
if(authKeys.length === 0){
return
}
const selectedUUID = ConfigManager.getSelectedAccount().uuid
let authAccountStr = ''
authKeys.map((val) => {
const acc = authAccounts[val]
const hash = Ghash(acc.displayName)
const settingsCurrentAccounts = document.getElementById('settingsCurrentAccounts')
let url = `https://account.imperiomc.click/preview/hash/${hash}?`+new Date().getTime();
authAccountStr += `<div class="settingsAuthAccount" uuid="${acc.uuid}">
<div class="settingsAuthAccountLeft">
<img class="settingsAuthAccountImage" alt="${acc.displayName}" src="${url}">
</div>
<div class="settingsAuthAccountRight">
<div class="settingsAuthAccountDetails">
<div class="settingsAuthAccountDetailPane">
<div class="settingsAuthAccountDetailTitle">Usuario</div>
<div class="settingsAuthAccountDetailValue">${acc.displayName}</div>
</div>
<div class="settingsAuthAccountDetailPane">
<div class="settingsAuthAccountDetailTitle">UUID</div>
<div class="settingsAuthAccountDetailValue">${acc.uuid}</div>
</div>
</div>
<div class="settingsAuthAccountActions">
<button class="settingsAuthAccountSelect" ${selectedUUID === acc.uuid ? 'selected>Selected Account ✔' : '>Selecciona una cuenta'}</button>
<div class="settingsAuthAccountWrapper">
<button class="settingsAuthAccountLogOut">Cerrar sesión</button>
</div>
</div>
</div>
</div>`
settingsCurrentAccounts.innerHTML = authAccountStr
})
}如果我将authKeys.map((val)的所有内容都放在.then中,对于示例(单击我),函数不适用于按钮,但哈希给出了我正在寻找的结果)
我需要将Ghash导出到哈希(没有任何.then或异步代码),这与为什么.而不是价值?无关,如果我这样做,我有新的问题,请参阅“如果我将.放入.then.”主持人(不结束)
如果有人能告诉我怎么解决它..。我将非常感谢你
发布于 2022-03-05 21:17:39
也许您应该放置await,因为Gash函数是异步的,所以需要等待响应。
const hash = await Ghash(acc.displayName)https://stackoverflow.com/questions/71363224
复制相似问题