Как я могу получить доступ к данным вложенных обещаний? - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь настроить маршрут для отправки данных из вложенного обещания в мое приложение vue.

Но у меня возникают проблемы с получением данных из вложенных обещаний.

Я попытался использовать обратный вызов безуспешно

app.get('/notification', (req, res) => {
  const getData = (data) => {
    console.log(data)
  }
  scheduler(data)
})



const scheduler = (callback) => {

      sftp
        .connect({ credentials })
        .then(() => {
          return sftp.list(root);
        })
        .then(async data => 
          {
          const filteredFile = data.filter(file => {
            let currentDate = moment();
            let CurrentTimeMinusFive = moment().subtract(5, "minutes");
            let allAccessTimes = file.accessTime;
            let parsedAccessTimes = moment(allAccessTimes);
            let filteredTime = moment(parsedAccessTimes).isBetween(
              CurrentTimeMinusFive,
              currentDate
            );
            return filteredTime;
          });
          for (const file of filteredFile) {
            let name = file.name;
            let filteredThing;
            await sftp
              .get(`Inbound/${name}`)
              .then(data => {
                csv()
                  .fromString(data.toString())
                  .subscribe(function (jsonObj) {
                    return new Promise(function (resolve, reject) {
                      filteredThing = new Notification(jsonObj);
                      filteredThing.save()
                      .then(result => {
                        console.log(result);
                        callback(result) **// THIS IS THE RESULT I NEED IN MY FRONT END**
                      })
                      .catch(err => {
                        console.log(err);
                      });
                      resolve();
                    });
                  });
              });
          }
        })

Когда я go на локальный хост / уведомление я получаю:

ReferenceError: данные не определены

Спасибо заранее!

...