Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Хочу ждать выполнение асинхронной функций (https://javascript.ru/forum/css-html/81430-khochu-zhdat-vypolnenie-asinkhronnojj-funkcijj.html)

evilgoogle 25.11.2020 12:39

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

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

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

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

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

    console.log(word); // начальный текст
    // Хочется получить - другой текст

evilgoogle 25.11.2020 12:45

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

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);

рони 25.11.2020 14:13

evilgoogle,
Цитата:

Сообщение от evilgoogle
// Хочется получить - другой текст

что мешает переместить строку 13 в строку 10, пост#1

voraa 25.11.2020 17:50

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 ()


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