Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (11)
  • Почему возвращается пустой массив?

    @DeFaNJI
    1. await с .map не сработает, пока будет выполняться .map тебе уже вернет пустой массив, что бы этого избежать используй Promise.all(и тут применяй .map)

    В твоем случае должно сработать примерно вот так:

    async getProjectStates(project_id) {
        const states = await State.findAll({
            where: {
                project_id
            },
            order: [
                ['serial_number', 'ASC']
            ]
        })
    
        let statesDto = []
    
        if (states.length) {
            await Promise.all(states.map(async state => {
                const tasks = await Task.findAll({
                    where: {
                        state_id: state.id
                    },
                    order: [
                        ['createdAt', 'DESC']
                    ]
                })
    
                let tasksDto = []
    
                if (tasks.length) {
                    tasks.map(task => {
                        const taskDto = new TaskDto(task)
                        tasksDto.push(taskDto)
                    })
                }
    
                const stateDto = new StateDto(state)
    
                stateDto.tasks = tasksDto
                
                statesDto.push(stateDto)
            }))
        }
    
        return statesDto
    }

    2. Если это mongoose, то в states должен быть массив, а при запросе, который ничего не нашел должен возвращаться пустой массив. Пустой массив в JS все равно будет помечен как true, поэтому уместнее тут было бы делать условие по .length . Точно также с tasks в .map

    const arr = []
    
    console.log(Boolean(arr)) // true
    Ответ написан
    Комментировать
  • Ошибка в обращении к .env?

    @DeFaNJI
    Попробуйте прописать путь к файлу .env в вызове функции config

    require('dotenv').config({ path: './.env'})
    Ответ написан
    5 комментариев
  • Как сделать чтобы бот отвечал в беседе сообщества?

    @DeFaNJI
    Попробуйте эти пункты:

    1) Проверьте, есть ли у бота права администратора в беседе (именно права администратора, а не просмотр сообщений)
    2) Нет ли у вас условия по типу:

    if (!msg.isChat) return

    3) Проверьте настройки группы, разрешено ли добавлять бота в беседу, включены ли возможности ботов
    Ответ написан
    1 комментарий
  • Как отправить запрос сайту, используя Discord.js (бот)?

    @DeFaNJI
    Если у сайта есть API, то создайте к нему запрос с помощью axios.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (7)