Correct façon d'écrire une fonction non bloquante dans node.js
Le paradigm non bloquant est crucial dans node.js pour atteindre des performances élevées. Cependant, il peut être difficile d'écrire des fonctions vraiment non bloquantes qui n'entravent pas les progrès de la boucle d'événements.
Comprendre le comportement non bloquant
Le code enveloppe dans une promesse ne le rend pas intrinsèquement non bloquant. La fonction de promesse exécutrice est exécutée de manière synchrone, ce qui signifie que le code à long terme à l'intérieur bloquera l'exécution d'autres opérations.
Exemple: fonction de blocage de promesse
Mod) retourner la nouvelle promesse ((résoudre, rejeter) => { Soit sum = 0; pour (soit i = 0; i
function longRunningFunc(val, mod) { return new Promise((resolve, reject) => { let sum = 0; for (let i = 0; iSimulation de l'asynchronicité avec setTimeout
Une approche pour émuler le comportement non bloquant dans ce cas est d'utiliser setTimeout:
la fonction longrunningfunc (val, mod) { retourner la nouvelle promesse ((résoudre, rejeter) => { setTimeout (() => { Soit sum = 0; pour (soit i = 0; i
function longRunningFunc(val, mod) { return new Promise((resolve, reject) => { setTimeout(() => { let sum = 0; for (let i = 0; i True Non-Blocking ApproachesTo create truly non-blocking functions, you need to use techniques that move code execution outside the main Node.js thread:
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3