, Я лично использовал его для обработки изображений в реальном времени, чтобы обнаруживать объекты в неблокирующем потоке, а затем Node.js распределял обнаруженные центроиды по подключенным TCP-клиентам (которые использовали данные, чтобы приводить двигатели в движение для обнаружения обнаруженного объекта).

исал простую функцию, которая возвращает 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")

Вывод выглядит как ожидалось:

before     // delay before printing below lines
after
Result: 5000049900000

Но программа ждет, прежде чем печатать вторую и третью строки. Можете ли вы объяснить, каким должен быть правильный способ сначала «до» и «после» напечатать, а затем (через некоторое время) результат?

Ответы на вопрос(1)

Ваш ответ на вопрос