小编Shi*_*wal的帖子

Promise 正在阻塞线程

我是 Node.js 的新手,正在尝试理解asyncawait术语。

在这个过程中,我认识了Promise

据我了解,在它的帮助下,我们可以使函数成为非阻塞的。

我尝试了以下代码,

function get() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            let out = 0
            const n = 9_900_000
            console.log('start looping')
            for (let i = 0; i < n; i++) {
                out += Math.cos(i)
            }
            console.log('done looping')
            resolve(out)
            console.log('resolved')
        })
    })
}

console.log('before function calling')
r = get()
console.log('After function calling')
r.then(console.log)
console.log('in the end of file')
Run Code Online (Sandbox Code Playgroud)

我们发现它的get行为就像一个非阻塞函数


function get() {
    return new Promise((resolve, …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous node.js async-await

2
推荐指数
1
解决办法
3143
查看次数

标签 统计

async-await ×1

asynchronous ×1

javascript ×1

node.js ×1