Пн goose не выводит то, что я хочу - PullRequest
0 голосов
/ 16 января 2020

Посмотрите на мой код:

    getGuildMemberExp(member) {
        return new Promise(async (fulfill, reject) => {
           try {
             let data = (await LevelsSchema.findOne({guild: member.guild.id, user: member.id})).exp || 0
             fulfill(data)
            } catch(err) {
                console.log(err)
                reject(err)
           }
        })
    }

Как вы можете сказать, я хочу, чтобы он вывел 0, если он не найдет результат, но, к сожалению, я не могу заставить его работать и он всегда выдает 0, когда я точно знаю, что результат есть.

1 Ответ

0 голосов
/ 16 января 2020

Итак, вы пытаетесь сравнить asyn c и syn c результаты вместе, и поскольку syn c разрешается до asyn c, он всегда возвращает 0.


let data = (await LevelsSchema.findOne({guild: member.guild.id, user: member.id})).exp || 0

. Try меняется выше на


let data = (await LevelsSchema.findOne({guild: member.guild.id, user: member.id})).exp

if(!data)
 data = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...