значение параметра внезапно меняется - PullRequest
0 голосов
/ 24 марта 2020

Я создал электронное приложение, используя узел, и столкнулся с неожиданной ошибкой. Я не имею ни малейшего представления об этом:

Это объект, который я передал:

{
  lessons: [
        name: "math",
        scores: [90, 96, 76],
        isEmpty: false
      ]
}

и это еще один файл, который мои модули там:

const fs = require('fs'),
  path = require("path");

class File {
  static save(data) {
    ///////////// Here "data" is the expected Object **********************
    fs.exists(path.join(__dirname, '../data/lessons.json'), isExist => {
      if (isExist) {
        //////////// Here "data" is this    {lesson: []} ********************** 
        const prev = require('../data/lessons.json');
        // Write New Data in Prevoius Data
        prev.lessons.push(data.lessons[0]);
        fs.writeFile(
          path.join(__dirname, '../data/lessons.json'),
          JSON.stringify(prev),
          err => {
            if (err) {
              console.log(err);
              console.error('\nCan not Save New Data\n');
            }
          }
        );
      } else {
        const json = JSON.stringify(data);
        fs.writeFile(
          path.join(__dirname, '../data/lessons.json'),
          json,
          err => {
            if (err) {
              console.log(err);
              console.error('\nCan not Save Data\n');
            }
          }
        );
      }
    });
    data.lessons = [];
  }

}

Заранее спасибо ...

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

спасибо за каждого, кто хочет решить мою проблему моя проблема в последней строке кода, когда я хочу очистить данные из data.lesson Object, я должен поставить это, если и еще .....

0 голосов
/ 24 марта 2020

ИСПОЛЬЗОВАНИЕ:

{
  lessons: {
        name: "math",
        scores: [90, 96, 76],
        isEmpty: false
         }
}

ИЛИ

[
  lessons: {
        name: "math",
        scores: [90, 96, 76],
        isEmpty: false
      }
]
...