Skip to main content
 首页 » 编程设计

javascript之如何合并异步函数的回调结果

2025年01月19日21haluo1

这是获取有关服务器的一些信息的代码。

    cpu.usage() 
    .then(info => { 
        console.log(info); 
    }); 
 
    cpu.free() 
    .then(info => { 
        console.log(info) 
    }); 
 
    mem.info() 
    .then(info => { 
        console.log(info) 
    }); 

我想获得函数中的每个结果。

get_resource () { 
   ... 
   console.log(cpu_usage, cpu_free, mem_info); 
}; 

我该如何设计它?

谢谢。

请您参考如下方法:

您可以尝试使用async/await来做到这一点:

var get_resource = async function () { 
   var cpu_usage = await cpu.usage(); 
   var cpu_free = await cpu.free(); 
   var mem_info = await mem.info(); 
 
   console.log(cpu_usage, cpu_free, mem_info); 
}; 

或者

Promise.all([cpu.usage(), cpu.free(), mem.info()]).then(function (info) { 
    console.log('cpu_usage:', info[0]); 
    console.log('cpu_free:', info[1]); 
    console.log('mem_info:', info[2]); 
})