我有一个简单的任务:我有一些菜单,我需要做饭,每道菜都有自己的计时器。当一切准备就绪时,我必须接收一个数组,菜单中的菜肴已准备好,但我没有定义,因为 return 将在 setTimeout 之前执行,我不知道如何修复它。请帮忙。
<script>
const menu = {
burger: [
{
name: '?',
time: 2000
},
{
name: '?',
time: 3500
},
{
name: '?',
time: 3200
},
],
hotDog: [
{
name: '?',
time: 500
},
{
name: '?',
time: 500
},
{
name: '?',
time: 500
}],
pizza: [
{
name: '?',
time: 800
},
{
name: '?',
time: 800
}]
}
function order(menuName) {
console.log('Start cooking...');
const result = [];
const foo = (name) => {
result.push(name);
}
function cooking({name, time}) {
setTimeout(() => {
foo(name);
}, time);
};
menuName.forEach(cooking);
}
console.log(order(menu.burger));
</script>