Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2020, 12:39
Новичок на форуме
Отправить личное сообщение для evilgoogle Посмотреть профиль Найти все сообщения от evilgoogle
 
Регистрация: 25.11.2020
Сообщений: 2

Хочу ждать выполнение асинхронной функций
Добрый день. Мне необходимо чтоб js ждал выполнение функций, после выполнение шел дальше.

Пробую так через Promise. Но не получаю то что мне надо!

let word = 'начальный текст';

    let promise = new Promise(function(resolve, reject) {
        setTimeout(function () {
            resolve('другой текст');
        }, 2000);
    });

    promise.then(function (result) {
        word = result;
    });

    console.log(word); // начальный текст
    // Хочется получить - другой текст
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2020, 12:45
Новичок на форуме
Отправить личное сообщение для evilgoogle Посмотреть профиль Найти все сообщения от evilgoogle
 
Регистрация: 25.11.2020
Сообщений: 2

Вот так пробывал. Тоже самое

let word = 'начальный текст';

    async function func() {

        let promise = new Promise((resolve, reject) => {
            setTimeout(function () {
                resolve('другой текст');
            }, 2000);
        });

        let result = await promise;
        word = result;
    }

    func();
    console.log(word);
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2020, 14:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

evilgoogle,
Сообщение от evilgoogle
// Хочется получить - другой текст
что мешает переместить строку 13 в строку 10, пост#1
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2020, 17:50
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

let word = 'начальный текст';
 
    let promise = new Promise(function(resolve, reject) {
        setTimeout(function () {
            resolve('другой текст');
        }, 2000);
    });
 
    promise.then(function (result) {
        word = result;
   console.log(word); // другой текст
    });
 
    console.log(word); // начальный текст
    // Хочется получить - другой текст


let word = 'начальный текст';
    async function func() {
 
        let promise = new Promise((resolve, reject) => {
            setTimeout(function () {
                resolve('другой текст');
            }, 2000);
        });
 
        let result = await promise;
        word = result;
    }
 async function wfun () {
    await func();
    console.log(word);
}

wfun ()

Последний раз редактировалось voraa, 25.11.2020 в 17:53.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запретить выполнение функций Szorstki Элементы интерфейса 26 24.10.2014 06:00
Потоки данных и параллельное выполнение функций Dorian_bs Общие вопросы Javascript 11 10.01.2014 18:58
Jquery, Последовательное выполнение функций разных div в одном скрипте. schnitzer Общие вопросы Javascript 3 29.09.2013 02:49
Выполнение асинхронных функций PavelX AJAX и COMET 6 04.03.2013 15:14
Паралельное выполнение 2х функций BorodinKO Общие вопросы Javascript 4 24.01.2012 14:15