Я написал программу ниже, чтобы понять цикл событий и функции, такие как setTimeout и setInterval.node.js и setTimeout и setInterval - понимание цикла событий
Выход программы отличается от того, Что я ожидал:
Выход:
In F
In L
Padalia
outside all
callback1
callback2
From Interval:0
From Interval:1
From Interval:2
From Interval:3
ВОПРОСЫ:
- Почему " выкидывать все "не исполнение ель й?
- Почему интервал всегда выполняется последним?
- Может кто-нибудь объяснить мне выполнение всей программы.
- Перед тем, как выйти из программы, ждет какое-то время, почему?
ПРОГРАММА:
var Fname = undefined;
var Lname = undefined;
var count = 0;
function F(callback){
console.log("In F");
Fname = "Rushabh";
if(Fname != undefined && Lname != undefined) {
console.log(Fname);
}
process.nextTick(function() {
callback();
});
//callback();
}
function L(callback){
console.log("In L");
Lname = "Padalia";
if(Fname != undefined && Lname != undefined) {
console.log(Lname);
}
process.nextTick(function() {callback();});
//callback();
}
function compute(){
Id = setInterval(function() {
console.log("From Interval:" + count); count++;
if(count > 3){
clearInterval(Id);
}
}, 100)
setTimeout(F(function(){
console.log("callback1");
}),5000);
setTimeout(L(function(){
console.log("callback2");
}) , 5000);
console.log("Outside all");
}
compute();