Nodejs Var Сложность области - PullRequest
0 голосов
/ 14 ноября 2018

У меня проблема с узлом. Я пытаюсь использовать алгоритм определения языка, но у меня проблемы с областями действия.

После сохранения ответа в «langVastus» и последующего извлечения языка в «keel», я получаю правильный результат внутри функции Algorithmia, но не снаружи.

Распечатка журналов консоли

Inside: en
Outside: 

И код выглядит так:

var langVastus = "";
    var keel = "";

    Algorithmia.client("simpIVxv0Ex5Xen1bVCLVXnxYpr1")
        .algo("nlp/LanguageIdentification/1.0.0")
        .pipe(input)
        .then(function(response) {
            langVastus = response.get();
            keel = langVastus[0].language;
            console.log("Inside: " + keel);
        });

    console.log("Outside: " + keel);
    res.render("lang", {keel: keel});

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Кажется, что блок, который вы называете "Внутри", выполняется внутри обратного вызова обещания.

В этом случае журнал извне будет запущен до вызова обратного вызова.

0 голосов
/ 14 ноября 2018

Проблема заключалась в том, что я инициализировал переменную внутри маршрута.Принимая его вне маршрута, я решил мою проблему:)

...