node.js - 我想学习如何处理异步代码的 Node js 代码

标签 node.js express asynchronous node-modules nodejs-stream

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

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

这是异步代码,我想在延迟后打印应用程序,但我们知道“应用程序”先打印,然后“超时”。

最佳答案

您可以通过两种方式处理异步任务:-

  1. 使用 Promise 和 then 方法
  2. 使用异步/等待方法

第一种方法:-

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

第二种方式:-

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 关键字应位于异步函数中。

关于node.js - 我想学习如何处理异步代码的 Node js 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58709143/

相关文章:

multithreading - libevent/epoll工作线程数?

javascript - Node.js console.log - 是否可以更新一行而不是创建一个新行?

javascript - 处理多个并发请求 Express

javascript - 如何从快速后端服务器获取图像并将其显示到 React js 前端?

node.js - 如何使用express将参数 “username”传递到 "/"路由器?

javascript - 在所有回调函数执行完毕后执行操作

Node.js fork 子返回消息限制,以及解决它的方法

javascript - 无法使用我机器的 IP 地址运行我的 Node.Js 应用程序,但可以使用本地主机

node.js - 在 socket.io 中断开连接时更新 node.js 中的数组

ios - 同步Realm Mobile数据库时显示加载