I am trying to solve an algorithm of generating random numbers base on a file size of 745kb. when it gets to this size it stops generating the random number. I have come with an algorithm which generates an array of random numbers write into a JSON file but the problem I have is that I can't read from the file to display on my page.
below is what I have done to the point of where I can't read from the JSON.
const fs = require('fs');
function generate(n) {
  var add = 1, max = 3;  
  if (n > max) {
    return generate(max);
  }
  max = Math.pow(10, n + add);
  var min = max / 10; // Math.pow(10, n) basically
  var number = Math.floor(Math.random() * (max - min + 1)) + min;
  return ("" + number).substring(add);
}
function fullNumber() {
  var first = generate(3);
  var second = generate(3);
  var third = generate(3);
  return `0${first}${second}${third}`
}
function generatePhone(number) {
  var newArray = [];
  for (var i = 0; i < number; i++) {
    newArray.push(fullNumber())
  }
  fs.writeFileSync('phone.json', JSON.stringify(newArray), (err) => {
    if (err) throw err;
  });
  return newArray;
}
function readFromFile() {
   fs.readFile('phone.json', (err, data) => {
    if (err) throw err;
    let phone = JSON.parse(data);
    return phone;
  });
}
readFromFile();
returning the phone gives me an undefined. I would like to display the phone to my browser and also be able to stop the random generator when the phone gets to the file size of 745kb.
