相关疑难解决方法(0)

在node.js中编写非冒号函数的正确方法

我写了一个返回Promise的简单函数,所以应该是非阻塞的(在我看来).不幸的是,程序似乎停止等待Promise完成.我不确定这里有什么不对.

function longRunningFunc(val, mod) {
    return new Promise((resolve, reject) => {
        sum = 0;
        for (var i = 0; i < 100000; i++) {
            for (var j = 0; j < val; j++) {
                sum += i + j % mod
            }
        }
        resolve(sum)
    })
}

console.log("before")
longRunningFunc(1000, 3).then((res) => {
    console.log("Result: " + res)
})
console.log("after")
Run Code Online (Sandbox Code Playgroud)

输出看起来像预期的:

before     // delay before printing below lines
after
Result: 5000049900000
Run Code Online (Sandbox Code Playgroud)

但程序在打印第二行和第三行之前等待.你能解释一下,首先打印"之前"和"之后",然后(经过一段时间)结果的正确方法是什么?

javascript node.js promise

0
推荐指数
1
解决办法
107
查看次数

标签 统计

javascript ×1

node.js ×1

promise ×1