Обратные вызовы между javascript с главной страницы и node.js - PullRequest
0 голосов
/ 23 января 2019

Итак, я пытался создать свой первый веб-сайт, внешний интерфейс, кажется, все готово, но мне нужно сделать какой-то backu-end Stuuf, который я не могу обернуть вокруг себя.

У меня есть скрипт, который добавляет календарь на домашнюю страницу, данные календаря хранятся в текстовом файле. Мне нужно получить эти данные с моего сервера, используя node.js , но я просто не понял, как это сделать.

`

 var fs = require('fs');
 function read_calendar(calendar_type){
     var data = fs.readFileSync('../data/meta/cal_'+calendar_type+'.txt', 'utf8');

     //then it should go to this variable in the main page script
     meta_text = data;
  }
  //this is for when we want to use another page to overwright the file with new data

function write_calendar(calendar_type,calendar_text,password){
    //here i check if the text from the input is the same as the security
     var password = fs.readFileSync('../data/meta/pass.txt', 'utf8');
  if(senha==pass){
      fs.writeFileSync('../data/meta/cal_'+calendar_type+'.txt', calendar_text);
  }else{
      //idk what to do if error, probalbly just a console.log('wrong pass or something else');
  }
}
//this is callbacks are from my main page script
read_calendar('ig1');
write_calendar('ig2','text','pass');

Вещиявляется, как я могу сделать это обратные вызовы и получить данные?

1 Ответ

0 голосов
/ 23 января 2019

Вы используете синхронную функцию. readFileSync. Для обработки вещей в обратном вызове вы используете readFile(path, options, callbackFunction). Это поможет вам управлять вашей работой асинхронно и не нужно ждать, чтобы прочитать или записать ваш файл. Используйте этот вид синтаксиса -

fs.readFile('/etc/passwd', (err, data) => {
  if (err) throw err;
  console.log(data);
});

отметьте это - Функция readFile

Пожалуйста, проголосуйте за это, если это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...