📅  最后修改于: 2023-12-03 14:45:40.361000             🧑  作者: Mango
在Javascript中,Promise.all方法可以用来并行执行一组Promise,并且当所有Promise都执行完毕后执行一些操作。
Promise.all(iterable);
iterable
: 一个可迭代对象,如Array等。Promise.all()
方法接受一个可迭代对象,如Array等,并返回一个新的Promise对象。
Promise.all()
方法的返回值是一个新的Promise对象,该Promise对象的结果将在所有Promise都完成时得到。
const getWeather = (city) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(`The weather in ${city} is sunny.`);
}, Math.floor(Math.random() * 5000));
});
};
const cities = ['London', 'New York', 'Tokyo'];
Promise.all(cities.map(getWeather))
.then((results) => {
console.log(results);
})
.catch((error) => {
console.error(error);
});
在这个示例中,我们定义了一个名为getWeather
的函数,该函数返回一个Promise,以模拟获取城市天气的操作。我们选择三个城市作为测试数据,并使用Promise.all()
方法异步获取所有城市的天气信息,并将结果打印到控制台上。
Promise.all()方法是一个强大的工具,可以帮助我们在Javascript中优雅地处理异步操作。它可以同时处理多个Promise,并且等待所有Promise都执行完毕后执行一些操作,大大提高了代码的效率和可读性。