Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Return из Callback (https://javascript.ru/forum/misc/73029-return-iz-callback.html)

grigandal 15.03.2018 09:42

Return из Callback
 
Вопрос Как сделать return из callback-а?

например, есть функция

getParams(["ArrayOfParamNames"], function(CallbackResult){
    //code
});

Мне нужно достать этот CallbackResult

типа

function getResult(){
    getParams(["Param1","Param2"], function(res){
        //Код в колбэке
    });
    return res; // ретёрним тот самый res, который объявляли в getParams(["Param1","Param2"], function(res)...);
}

Nexus 15.03.2018 09:48

"getParams" выполняет что-то асинхронно?

grigandal 15.03.2018 09:51

Nexus,
Цитата:

Сообщение от Nexus (Сообщение 480585)
"getParams" выполняет что-то асинхронно?

ну, скорее всего да
Я использую функцию chrome.storage.local.get(["params"], function(res))
По-моему, она выполняет ассинхронно

Nexus 15.03.2018 09:57

grigandal, никак не вернуть результат, на то метод и принимает вторым аргументом callback.
Выполняйте операцию в нем.

grigandal 15.03.2018 10:10

Nexus,
Неужели никак не положить результат в глобальную переменную?

Я должен вызывать эту функцию пр наведении на DOM-элемент, и соответственно на странице после выплонения возникают изменения
А так как функция ассинхронная, и выполняется не мгновенно, то изменения происходят с задержками и лагами

Я хочу типа с помощью костыля setInterval каждые 5 секунд доставать эти параметры в глобальную переменную, а DOM уже менять в зависимости от этой переменной

grigandal 15.03.2018 10:17

Разобрался, все просто
var global;
function getResult() {
        getParams(["Param1", "Param2"], function (res) {
            global = res;
        });


Часовой пояс GMT +3, время: 22:56.