Last active
March 14, 2022 03:38
-
-
Save xiongchengqing/d6aeb6b835b54141762a2d85d060d4bb to your computer and use it in GitHub Desktop.
microtask application
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 1. The most common reason for using queueMicrotask() is to create consistent ordering | |
// 2. Batch processing is a common use case | |
const messageQueue = []; | |
const sendMessage = message => { | |
messageQueue.push(message); | |
if (messageQueue.length === 1) { | |
queueMicrotask(() => { | |
const json = JSON.stringify(messageQueue); | |
messageQueue.length = 0; | |
console.log(json) | |
}); | |
} | |
}; | |
let count = 0; | |
while(count < 100) { | |
count++ | |
sendMessage(count) | |
} | |
// output: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment