I'm new to Javascript and doing a crawler, I've created 4 Promise as these
var openConfig = new Promise((resolve, reject) => {
  fs.readFile('./config.json', (err, data) => {
    if (err) throw err;
    config = JSON.parse(data);
    client = new MsTranslator({
      client_id: config.translatorId,
      client_secret: config.translatorSecret
    }, true)
    resolve();
  })
})
var openFile = new Promise((resolve, reject) => {
  console.log('Opening file...')
  fs.readFile('./writing/writing.json', (err, data) => {
    if (err) throw err;
    writing = JSON.parse(data);
    console.log('Done parsing file');
    resolve();
  })
})
var ask = new Promise((resolve, reject) => {
  var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
  })
  rl.question('Which lesson do you want to add? ', (ans) => {
    lessonId = ans;
    rl.close();
    resolve();
  })
})
var createLesson = new Promise((resolve, reject) => {
  console.log('Now processing lesson ' + lessonId);
})
then call the first Promise
openConfig
  .then(() => {
    return openFile;
  })
  .then(() => {
    return ask;
  })
  .then(() => {
    return createLesson;
  })
but as I run, the console show
Opening file...
Which lesson do you want to add? Now processing lesson undefined
Done parsing file
which I understood as my promises are wrong and my function run async. Can you help me to fix this?
Thank you.
 
     
     
    