@wini666

Как заставить работать .then внутри Promise?

Как заставить работать .then внутри Promise ? Второй find по tags уже не срабатывает потому что не готов searchArr...

articleSchema.statics.list = function ({tag, sort, limit, skip}) {

    return new Promise(function (resolve, reject) {

        const Tag = mongoose.model('Tag');
        let searchArr = [];

        Tag.find({label: tag}, {label: false, updatedAt: false, createdAt: false, articleId: false, __v: false}).exec()
            .then((findTags) => {
                findTags.map((item, index) => {
                    searchArr.push(String(item._id));
                });
                return searchArr;
            })
            .then((searchArr) => {
                return this
                    .find({
                        'tags': {
                            $in: searchArr

                        }
                    })
                    .sort('-' + sort)
                    .skip(parseInt(skip))
                    .limit(parseInt(limit))
                    .populate('tags')
                    .exec()
                    .then((Articles) => {
                        resolve(Articles);
                        console.log('Articles');
                        console.log(Articles);
                    })
                    //.catch(e => next(e));
            })
            //.catch(e => next(e));

        //resolve(Articles);

    });

};
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы