Код Node js, в котором я хочу научиться работать с асинхронным кодом

setTimeout(()=>{
        console.log('time out')
    },3000)
}

go();
console.log('app')

Это асинхронный код, я хочу распечатать приложение после задержки, но, как мы знаем, сначала печатается «приложение», а затем «тайм-аут».


person Amaan Imtiyaz    schedule 05.11.2019    source источник


Ответы (2)


Вы можете справиться с асинхронной задачей двумя способами:

  1. С обещанием, а затем с методом
  2. С асинхронным/ожидающим методом

1-й способ: -

function promiseFunction() {
    return new Promise((resolve, reject) => {
        setTimeout(()=>{
            console.log('completed task and resolve');
            resolve()
        },3000)
    })
}
promiseFunction().then(() => {
    console.log('all task completed with your message (app)');
})

2-й способ:-

asyncFunction();
function promiseFunction() {
    return new Promise((resolve, reject) => {
        setTimeout(()=>{
            console.log('completed task and resolve');
            resolve()
        },3000)
    })
}
async function asyncFunction() {
  await promiseFunction();
  console.log('all task completed with your message (app)');
}

P.S. Пожалуйста, убедитесь, что ваше ключевое слово await должно быть в асинхронной функции.

person JAY PATEL    schedule 05.11.2019

вы можете обрабатывать асинхронный код, используя обещание

  function go() {
    return new Promise((resolve, reject) => {
        setTimeout(()=>{
            console.log('time out');
            resolve()
        },3000)
    })
}

go().then(() => {
    console.log('app')
})
person Ankur Patel    schedule 05.11.2019