Sobes.tech
Junior — Middle

Чӣ гуна ташкил медиҳед иҷрои чанд вазифаи ҳамоҳангии баробар муҳим?

sobes.tech AI

Ҷавоб аз AI

Барои ташкил додани иҷрои чандин вазифаҳои ҳамоҳанг дар Node.js, одатан истифода мешавад иҷрои параллел ё рақобатӣ бо истифода аз функсияҳои асинхронӣ ва promises. Масалан, шумо метавонед Promise.all-ро барои оғоз кардани чанд амали асинхронӣ ҳамзамон ва интизор шудан барои анҷоми онҳо истифода баред.

Масалан:

const task1 = () => new Promise(resolve => setTimeout(() => resolve('Вазифа 1 анҷом ёфт'), 1000));
const task2 = () => new Promise(resolve => setTimeout(() => resolve('Вазифа 2 анҷом ёфт'), 500));

Promise.all([task1(), task2()])
  .then(results => {
    console.log(results); // ['Вазифа 1 анҷом ёфт', 'Вазифа 2 анҷом ёфт']
  });

Агар бисёр вазифаҳо бошанд ва бояд назорат кард, ки чандтои онҳо ҳамзамон иҷро мешаванд, метавон китобхонаҳо мисли p-limit истифода бурд ё навбатро дар назар гирифт. Ин имкон медиҳад, ки захираҳо ба таври баробар тақсим шаванд ва аз бориш зиёд дурӣ ёбанд.