promises_hell

by LITSAKI

HTML

<div id="food-container">

</div>

JavaScript

(() => {

    const ingredients = {
        pasta: 'melissa',
        mincedMeat: "beef",
        sauce: "tomato"
    };
    
    const texts = {
         cookPasta: "i will be cooked",
         boilPasta: "i am boiled",
         drainPasta: "i am drained",
         addButter:"butter is being added on me",
         putOnPlate:"i landed on the plate",
         cookMincedMeat: "meat will be cooked",
         defreezeMeat: "minced meat is defrozen",
         chopOilMeat: "chop and oil meat"
    }
    
     const createChildElement = (text) => {
       let childEl = document.createElement('div');
       childEl.innerText = text;
       document.getElementById('food-container').appendChild(childEl);
    }

    const boilPasta = (pasta) => {
        return new Promise((resolve, reject) => {
            console.log(texts.boilPasta);
            createChildElement(texts.boilPasta);
            resolve(pasta);
        });
    }

    const drainPasta = (pasta) => {
        return new Promise((resolve, reject) => {
            console.log(texts.drainPasta);
            createChildElement(texts.drainPasta);
            resolve(pasta);
        });
    }


    const addButter = (pasta) => {
        return new Promise((resolve, reject) => {
            console.log(texts.addButter);
            createChildElement(texts.addButter);
            resolve(pasta);
        });
    }


    const putOnPlate = (food) => {
        return  new Promise((resolve, reject) => {
            console.log(texts.putOnPlate);
            createChildElement(texts.putOnPlate);
            resolve(food);
        });
    }

    const cookMincedMeat = (meat) => {
        return new Promise ((resolve, reject) => {
            console.log(texts.cookMincedMeat);
            createChildElement(texts.cookMincedMeat);
            resolve(meat);
        });
    }
   

    const defreezeMeat = (meat) => {
        return new Promise ((resolve, reject) => {
            console.log(texts.defreezeMeat);
           ...