Jump to content

georgerock

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by georgerock

  1. Nu stiu daca mai ai nevoie de un raspuns sau daca ai rezolvat problema , dar o raspund la intrebare oricum. In primul rand , javascript e un limbaj asincron, ceea ce inseamna ca ruleaza codul tau rand cu rand si nu asteapta ca o functie sa se execute inainte sa ruleze urmatoarea linie de cod. Pentru codul tau, asta inseamna ca tu apelezi functia json.parse inainte ca fs.read sa termine de citit fisierul si atunci, in momentul rularii taskFile este null, ceea ce nu este un string json. Daca te uiti la fs.read(); la api-ul nodeJS : https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_read_fd_buffer_offset_length_position_callback o sa vezi ca are ca prim paramentru fisierul de citit si ca ultim parametru o functie de callback. Un callback e o functie care este chemata in momentul in care se termina de executat functia initiala. Pentru ca codul tau sa fie valid ar trebui sa fie ceva de genul: var taskFile = fs.read(taskFileName, function toJson (err, data){ if (err) { window.alert("error: " err)} return JSON.parse(data)}; O alta alternativa ar fi functia fs.readSync(); : https://nodejs.org/dist/latest-v6.x/docs/api/fs.html#fs_fs_readsync_fd_buffer_offset_length_position caz in care trebuie doar sa inlocuiesti functia .read cu .readSync
×
×
  • Create New...