const fn = (color, wait) => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
                          resolve()
            console.log(color);
       
        },wait);
    })
}
async function loop() {
    await fn('red', 1000)
    await fn('green', 1000)
    await fn('yellow', 1000)
    loop()
}
loop()