Как экспортировать данные, присутствующие в ожидании

Всякий раз, когда мне нужно быстро извлечь что-то из HTML-документа, я использую Tidy, чтобы преобразовать его в XML, а затем использовать XPath или XSLT, чтобы получить то, что мне нужно. В вашем случае что-то вроде этого:

//p/a[@href='foo']
0
задан Anmol Middha 17 March 2019 в 20:26
поделиться

1 ответ

Две вещи.

Во-первых, вы никогда не вызываете свою анонимную асинхронную функцию.

Во-вторых, ваш экспорт находится в области действия этой функции, поэтому он никогда не устанавливается. Поэтому ваше требование возвращает пустое содержимое '{}' файла module.export.

Попробуйте что-то вроде этого.

const mongoose = require('mongoose');

module.exports = async ()=> {
    await mongoose.connection.on('connected', ()=>{
        const gridfs = require('mongoose-gridfs')({
            collection: 'sharedfiles',
            model: 'SharedFiles',
            mongooseconnection: mongoose.connection
        });
     global.sharedfile = gridfs;
     return gridfs;
    });
} 

Затем ваш экспорт предоставляет асинхронную функцию (обещание) для требуемого кода. Вы вызываете его с помощью () и используете .next для обработки возвращенного результата.

require('path to above file') ()
   .next( 
      function (gridfs) {
        console.log (gridfs)
      } )
   .catch (...)

Или вы можете потребовать это, а затем вызвать его позже.

const getGridFs = require('path to above file')
...
getGridFs ( )
  .next (gridfs => {console.log(gridfs)})
  .catch (error => {console.error(error)})

Будьте терпеливы: вы поймете это.

0
ответ дан O. Jones 17 March 2019 в 20:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: