javascript - 需要帮助将回调转换为 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);
}
解决方案
它不是 100% 清楚你想要什么,但这里是我认为你要求的一个简单例子
所以要让你的函数使用承诺而不是回调,你可以做这样的事情
function promiseFunction(){
return new Promise(resolve =>{
resolve(result);
}
}
当你想获取函数返回的数据时,你可以这样做
function getInfoFromFunction(){
promiseFunction(arg).then(result => {
console.log(result)
});
}
推荐阅读
- typescript - 在 Visual Studio Code 中重构打字稿后,任何要在单引号中导入的配置?
- r - 将站点位置叠加为 tmap 上的点
- centos7 - VOB 服务器操作使容器永久失败
- certificate-authority - 用于管理 Github SSH 证书的 SSH CA
- python - Concat多列,不同日期
- azure-storage - 按计划删除 Azure 存储中的所有文件
- android - Android 键盘未显示(不适用于任何应用程序)
- asp.net-core - AKKA.NET:可以在多个正在运行的应用程序上创建唯一的演员吗?
- neural-network - 用于识别 0 到 20 的语音数字的深度神经网络
- bash - Makefile 中的 ${foobar} 和 $(foobar) 有什么区别?