首页 > 解决方案 > 需要帮助将回调转换为 Promise

问题描述

我不知道如何将此回调转换为 Promise(结果,错误)。你能告诉我它是如何制作的并用评论解释吗?

function calcular() 
{
        let conta = 0;;
        var N1 = parseInt(document.getElementById("num1").value);
        var opção = document.getElementById("op").value;
        var N2 =  parseInt(document.getElementById("num2").value);

        if (opção === "+")
        {
            conta = N1 + N2;

        }
}

function MostrarResultado(conta) 
{

    document.getElementById("result").innerHTML = "O resultado da sua conta é = " + conta;

}

function Executar(callback)
{
    callback(calcular());
}

function xpto()
{
    setTimeout(function() {Executar(MostrarResultado)}, 3000);
}

标签: javascriptpromisecallback

解决方案


它不是 100% 清楚你想要什么,但这里是我认为你要求的一个简单例子

所以要让你的函数使用承诺而不是回调,你可以做这样的事情

function promiseFunction(){
    return new Promise(resolve =>{
        resolve(result);
    }
}

当你想获取函数返回的数据时,你可以这样做

function getInfoFromFunction(){
    promiseFunction(arg).then(result => {
        console.log(result)
    });
}


推荐阅读