CCCPaste

Rest 02. Bus schedule

function solve() {

    let box = document.getElementById("info")
    let dep = document.getElementById("depart");
    let arr = document.getElementById("arrive");

    let currentId="depot";
    let currentName="";

    function depart() {

      fetch(`https://judgetests.firebaseio.com/schedule/${currentId}.json`)
      .then(res=>res.json())
      .then(departSuccess)
      .catch(err=>{ box.textContent="Error";
      arr.disabled=true;
      dep.disabled=true;
    })
    }

    function arrive() {
        arr.disabled=true;
        dep.disabled=false;
        box.textContent=`Arriving at ${currentName}`
    }

    function departSuccess(data){
        let {name, next}=data;
        currentId=next;
        currentName=name;
        dep.disabled=true;
        arr.disabled=false;
        box.textContent=`Next stop: ${currentName}`
    }

    return {
        depart,
        arrive
    };
}

let result = solve();