Мне нужно запустить две задачи параллельно в Node JS, как мы создали два потока в Java.Я просмотрел всю документацию, связанную с обещанием и асинхронностью / ожиданием.
Я просмотрел следующие потоки
Параллельные вызовы функций в Node.js Параллельные операции сPromise.all?
Даже если я буду использовать promise.all, код будет выполняться последовательно.
Но я не смог найти способ сделать это.Я вижу, что http.get выполняется в фоновом режиме и, как только результаты доступны, возвращает ответ в обратном вызове.Пока это не произойдет, я могу выполнять другие задачи.Могу ли я сделать что-то подобное для достижения параллелизма в моем собственном коде.
У меня есть следующий код.Я хочу убедиться, что func1 и fucn2 работают параллельно
Я ожидаю вывод в следующем порядке
calling func1
calling func2
called all functions
promise 1 done!
promise 2 done!
Это мой код
function func1() {
let promise = new Promise((resolve, reject) => {
try {
for(var q=0;q<10000;q++) {
console.log(q);
}
resolve("promise 1 done!")
} catch(e) {
reject(e);
}
});
return promise;
}
function func2() {
let promise = new Promise((resolve, reject) => {
try {
for(var r=0;r<10000;r++) {
console.log(r);
}
resolve("promise 2 done!")
} catch(e) {
reject(e);
}
});
return promise;
}
function func() {
console.log("calling func1");
var promise1 = func1();
console.log("calling func2");
var promise1 = func2();
console.log("called all functions");
//do some other task
promise1
.then(result => { console.log("Promise 1 : "+result); })
.catch(error => { console.log("Promise 1 err : "+error ); });
promise2
.then(result => { console.log("Promise 2 : "+result); })
.catch(error => { console.log("Promise 2 err : "+error ); });
}
func();
ВКоротко, как я могу заставить два цикла for выполняться параллельно.
Возможно ли это в Node JS.Я что-то упустил?