Msimbo wa Sawa na usio Sawa katika JavaScript
Tuchunguze msimbo ufuatao:
console.log('1');
console.log('2');
Ni wazi kuwa kwanza itachapisha kwenye konsole ya kwanza, kisha ya pili. Yaani, amri za msimbo wetu zinatekelezwa kwa mpangilio - kwa utaratibu wa kufuatana kwao kwenye msimbo. Msimbo kama huo unaitwa sawa.
Sasa tuchunguze msimbo ufuatao:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
Katika kesi hii, amri hazitekelezwi kwa mpangilio wa kufuatana kwenye msimbo: uchapishaji wa kwanza kwenye konsole utatekelezwa wakati wake unapofika, lakini msimbo mwingine hauangojii wakati huo, bali unaendelea kutekelezwa. Msimbo kama huo unaitwa usio sawa.
Msimbo usio sawa unajitokeza katika JavaScript mara nyingi: wakati wa kufanya kazi na viwakatishi, wakati wa kuweka vichakataji matukio, wakati wa kupakia picha, wakati wa kufanya kazi na teknolojia ya AJAX, inayoruhusu kupakia sehemu za ukurasa kutoka kwa seva, wakati wa kufanya kazi na NodeJS, inayowakilisha JavaScript ya upande wa seva.