首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我调用Ghash函数时,我为什么要提高[承诺]?

当我调用Ghash函数时,我为什么要提高[承诺]?
EN

Stack Overflow用户
提问于 2022-03-05 14:54:28
回答 1查看 54关注 0票数 -4

当我调用Ghash函数时,我得到了一个承诺,我需要得到这个承诺的结果,它是一个散列,没有那个哈希,我就无法得到我想要的图像。

代码语言:javascript
复制
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 &#10004;' : '>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.”主持人(不结束)

如果有人能告诉我怎么解决它..。我将非常感谢你

EN

回答 1

Stack Overflow用户

发布于 2022-03-05 21:17:39

也许您应该放置await,因为Gash函数是异步的,所以需要等待响应。

代码语言:javascript
复制
const hash = await Ghash(acc.displayName)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71363224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档