если условие не работает должным образом, так как я получаю значение переменной как неопределенное - PullRequest
0 голосов
/ 05 июня 2019

Я выполняю зашифрованный запрос neo4j в nodejs и получаю результаты в функции обратного вызова:

async (body) => {

    await query.cypher({
            query: 'Match (phoneno {phnnumber : {number}}) return phoneno',
            params: {
                number: body
            }
        },
        await
        function(err, data) {
            len = data.length
            console.log("len:" + len)

        });
    console.log("len outside:" + len)

    if (len == 0) {
        return false;
    } else {
        return true;
    }
}

Консольный журнал "len outside:" и оператор if показывают, что lenundefined.Кто-нибудь может понять почему?

1 Ответ

0 голосов
/ 05 июня 2019

Вы должны определить len как переменную в верхней части функции:

async(body)=>{
    var len = null;

        await query.cypher({
            query: 'Match (phoneno {phnnumber : {number}}) return phoneno',
            params: {
                number : body
            }
        },
        await function(err,data){
         len = data.length
         console.log("len:"+len)

        });
        console.log("len outside:"+len)

        if (len == 0 ){
            return false;
        }
        else{
            return true;
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...