электрон: Лодаш не работает в электронном режиме - PullRequest
0 голосов
/ 21 июня 2019

Я загружаю сообщения из subreddit

const electron = require('electron');

const _ = require('lodash');

const getsub = (sub, epoch) => {
let res = {};
  const sub_url = `https://api.pushshift.io/reddit/search/submission/?subreddit=${sub}&limit=1000&sort=desc&before=${epoch}`;
  return new Promise((resolve, reject) => {
    axios
      .get(sub_url)
      .then(response => {
        let d = response.data.data;
        let e = d[d.length - 1].created_utc;
        res.data = d;
        res.epoch = e;
        return resolve(res);
      })
      .catch(error => {
        return reject(error.message);
      });
  });
};

Рассматриваемая функция

async function getSubreddit(sub) {
    const utc = new Date().toJSON().slice(0, 10).replace(/-/g, "/");
    const endEpoch = new Date(utc).getTime() / 1000;;
    var dataArray = [];
    let epoch;
    const resp = await getsub(sub, endEpoch);
    const jsondat = resp.data;
    epoch = resp.epoch;
    var result = _.map(dataArray, function(o) {
      return _.pick(o, ['title', 'url', 'subreddit', 'created_utc', 'domain', 'full_link', 'created_utc'])
    })
    console.log(jsondat.length);
    // console.log({result,epoch});
    // downloadStuff(sub,result)


}

в то время как jsondat показывает длину 1000. Но после того, как я проанализирую ее с помощью lodash, результат показывает длину как 0.

Я запутался, потому что этот код работает на обычной странице JavaScript.

РЕДАКТИРОВАТЬ : Это глупая ошибка с моей стороны. Вот исправленный код

async function getSubreddit(sub) {
    var utc = new Date().toJSON().slice(0, 10).replace(/-/g, "/");
    var endEpoch = new Date(utc).getTime() / 1000;;

     var dataArray = [];


     const resp = await getsub(sub, endEpoch);
     const jsondat = resp.data;
     dataArray = jsondat.concat(dataArray);
     epoch = resp.epoch;

     var result = _.map(dataArray, function(o) {
       return _.pick(o, ['title', 'author','url', 'subreddit', 'created_utc', 'domain', 'full_link', 'created_utc'])
     })
    console.log({result,epoch});
    downloadStuff(sub,result)


}
...