Сохранение ответа "undefined" в моем файле node.js - PullRequest
0 голосов
/ 01 июня 2018

Я знаю, что node.js использует асинхронное поведение.и причина, по которой я пытаюсь сохранить ответ в моей файловой системе, становится «неопределенной».фактически, до тех пор, пока не придет ответ, файл сохраняется с «неопределенными» данными.

это мой код

 request(options, function (error, response, body){
 if(!error){
    console.log(body);       //gives the response successfully
     fs.writeFile("E:/FirebaseNotif/testfile", body.notification_key,  function(err) {
if(err) {
    return console.log(err);
}

console.log("The file was saved!");     //saves but with an "undefined" data
});         
 }else{
    console.log('this is false');
 }

 });

Как справиться с такого рода асинхронным поведением

1 Ответ

0 голосов
/ 01 июня 2018

Запрос на выдачу возвращает ответ в виде строки, поэтому переменная тела содержит строковое значение, а не JSON.Вам нужно привести ответ в JSON и использовать переменные

Попробуйте выполнить следующее после получения ответа

console.log(body);
const data = JSON.parse(body);
fs.writeFile('testfile', data.notification_key, function (err) {
  if (err) {
    return console.log(err);
  }

  console.log('The file was saved!');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...