Anne  de Morel

Anne de Morel

1656781200

Résolution Séquentielle Des Promesses En JavaScript

Si vous utilisez JavaScript, que ce soit avec JS dans le navigateur, React ou Node.js, vous connaissez probablement Promises . De plus, vous avez peut-être également rencontré la résolution de tableaux de Promises avec la fonction Promise.all().

Voici un exemple de Promise.all:

const getSquare = async (x) => Math.pow(x, 2);
const printSquares = async () => {
     const nums = [1, 2, 3, 4, 5];
     const promiseArray = nums.map(x => getSquare(x));     const resolvedPromises = await Promise.all(promiseArray);
     console.log(resolvedPromises);
};printSquares();

getSquarerenvoie une promesse et, comme son nom l'indique, promiseArraycontient un tableau de promesses. Toutes ces promesses doivent être résolues avant d'obtenir le carré. Si vous ne le faites pas, ce qui sera imprimé sur la console est le suivant :

[
  Promise {
    1,
    [Symbol(async_id_symbol)]: 36,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    4,
    [Symbol(async_id_symbol)]: 37,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    9,
    [Symbol(async_id_symbol)]: 38,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    16,
    [Symbol(async_id_symbol)]: 39,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    25,
    [Symbol(async_id_symbol)]: 40,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  }
]

au lieu de la sortie souhaitée :

[ 1, 4, 9, 16, 25 ]

Résolution séquentielle des promesses

Dans l'exemple ci-dessus, l'ordre de getSquarerésolution n'a pas d'importance… notez que l'élément du tableau renvoyé correspondra toujours au tableau de promesses.

Cependant, dire que l'ordre est important ou que le traitement parallèle crée des problèmes de système. Par exemple, j'ai récemment rencontré un problème en appelant la getUserfonction Firebase en parallèle plusieurs centaines de fois. Parfois, une erreur Firestore se produisait car la base de données était surchargée.

const uids = ["id1", "id2",...];
const userPromises = uids.map(uid => admin
   .auth()
   .getUser(uid)
   .then((userRecord) => {
      return userRecord.toJSON();
   })
   .catch(console.error)
);const users = await Promise.all(userPromises); // The problem!

Heureusement, le traitement n'est pas sensible au temps ou intensif, il est donc acceptable d'effectuer le traitement en séquence.

Remarque complémentaire : le runtime JavaScript ne traite pas réellement en parallèle et n'est pas multithread, mais dispose plutôt d'une boucle d'événements pour effectuer des opérations d'E/S non bloquantes. Par exemple, si une promesse appelle une URL externe, le runtime traitera la tâche suivante sur la boucle d'événements en attendant la réponse de l'URL appelée. Cela rend le traitement multithread et rapide. Pour cette raison, le traitement séquentiel est généralement beaucoup plus lent puisque vous bloquez jusqu'à ce que la promesse se termine complètement.

Au début, vous pensez peut-être utiliser le forEach… Ne faites pas ! Le forEachne joue pas bien avec aysncet causera des problèmes.

Cependant, la version ES 2018 de forjoue assez bien pour le traitement séquentiel avec await:

const resolvePromisesSeq = async (tasks) => {
  const results = [];
  for await (const task of tasks) {
    results.push(task);
  }  return results;
};

Le resolvePromisesSeqprendra un tableau de tâches et traitera ensuite chacune dans l'ordre.

Mettons à jour le code Firebase pour qu'il soit séquentiel :

const uids = ["id1", "id2",...];
const userPromises = uids.map(uid => admin
   .auth()
   .getUser(uid)
   .then((userRecord) => {
      return userRecord.toJSON();
   })
   .catch(console.error)
);const users = await resolvePromisesSeq(userPromises); // No longer a problem!

Belle!

Et la nouvelle fonction est réutilisable chaque fois que vous devez traiter les promesses de manière séquentielle.

Source : https://betterprogramming.pub/how-to-sequentially-resolve-an-array-of-promises-in-javascript-19bcd42417e8

#javascript 

What is GEEK

Buddha Community

Résolution Séquentielle Des Promesses En JavaScript

Rahul Jangid

1622207074

What is JavaScript - Stackfindover - Blog

Who invented JavaScript, how it works, as we have given information about Programming language in our previous article ( What is PHP ), but today we will talk about what is JavaScript, why JavaScript is used The Answers to all such questions and much other information about JavaScript, you are going to get here today. Hope this information will work for you.

Who invented JavaScript?

JavaScript language was invented by Brendan Eich in 1995. JavaScript is inspired by Java Programming Language. The first name of JavaScript was Mocha which was named by Marc Andreessen, Marc Andreessen is the founder of Netscape and in the same year Mocha was renamed LiveScript, and later in December 1995, it was renamed JavaScript which is still in trend.

What is JavaScript?

JavaScript is a client-side scripting language used with HTML (Hypertext Markup Language). JavaScript is an Interpreted / Oriented language called JS in programming language JavaScript code can be run on any normal web browser. To run the code of JavaScript, we have to enable JavaScript of Web Browser. But some web browsers already have JavaScript enabled.

Today almost all websites are using it as web technology, mind is that there is maximum scope in JavaScript in the coming time, so if you want to become a programmer, then you can be very beneficial to learn JavaScript.

JavaScript Hello World Program

In JavaScript, ‘document.write‘ is used to represent a string on a browser.

<script type="text/javascript">
	document.write("Hello World!");
</script>

How to comment JavaScript code?

  • For single line comment in JavaScript we have to use // (double slashes)
  • For multiple line comments we have to use / * – – * /
<script type="text/javascript">

//single line comment

/* document.write("Hello"); */

</script>

Advantages and Disadvantages of JavaScript

#javascript #javascript code #javascript hello world #what is javascript #who invented javascript

Hire Dedicated JavaScript Developers -Hire JavaScript Developers

It is said that a digital resource a business has must be interactive in nature, so the website or the business app should be interactive. How do you make the app interactive? With the use of JavaScript.

Does your business need an interactive website or app?

Hire Dedicated JavaScript Developer from WebClues Infotech as the developer we offer is highly skilled and expert in what they do. Our developers are collaborative in nature and work with complete transparency with the customers.

The technology used to develop the overall app by the developers from WebClues Infotech is at par with the latest available technology.

Get your business app with JavaScript

For more inquiry click here https://bit.ly/31eZyDZ

Book Free Interview: https://bit.ly/3dDShFg

#hire dedicated javascript developers #hire javascript developers #top javascript developers for hire #hire javascript developer #hire a freelancer for javascript developer #hire the best javascript developers

Niraj Kafle

1589255577

The essential JavaScript concepts that you should understand

As a JavaScript developer of any level, you need to understand its foundational concepts and some of the new ideas that help us developing code. In this article, we are going to review 16 basic concepts. So without further ado, let’s get to it.

#javascript-interview #javascript-development #javascript-fundamental #javascript #javascript-tips

Anne  de Morel

Anne de Morel

1656781200

Résolution Séquentielle Des Promesses En JavaScript

Si vous utilisez JavaScript, que ce soit avec JS dans le navigateur, React ou Node.js, vous connaissez probablement Promises . De plus, vous avez peut-être également rencontré la résolution de tableaux de Promises avec la fonction Promise.all().

Voici un exemple de Promise.all:

const getSquare = async (x) => Math.pow(x, 2);
const printSquares = async () => {
     const nums = [1, 2, 3, 4, 5];
     const promiseArray = nums.map(x => getSquare(x));     const resolvedPromises = await Promise.all(promiseArray);
     console.log(resolvedPromises);
};printSquares();

getSquarerenvoie une promesse et, comme son nom l'indique, promiseArraycontient un tableau de promesses. Toutes ces promesses doivent être résolues avant d'obtenir le carré. Si vous ne le faites pas, ce qui sera imprimé sur la console est le suivant :

[
  Promise {
    1,
    [Symbol(async_id_symbol)]: 36,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    4,
    [Symbol(async_id_symbol)]: 37,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    9,
    [Symbol(async_id_symbol)]: 38,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    16,
    [Symbol(async_id_symbol)]: 39,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  },
  Promise {
    25,
    [Symbol(async_id_symbol)]: 40,
    [Symbol(trigger_async_id_symbol)]: 5,
    [Symbol(destroyed)]: { destroyed: false }
  }
]

au lieu de la sortie souhaitée :

[ 1, 4, 9, 16, 25 ]

Résolution séquentielle des promesses

Dans l'exemple ci-dessus, l'ordre de getSquarerésolution n'a pas d'importance… notez que l'élément du tableau renvoyé correspondra toujours au tableau de promesses.

Cependant, dire que l'ordre est important ou que le traitement parallèle crée des problèmes de système. Par exemple, j'ai récemment rencontré un problème en appelant la getUserfonction Firebase en parallèle plusieurs centaines de fois. Parfois, une erreur Firestore se produisait car la base de données était surchargée.

const uids = ["id1", "id2",...];
const userPromises = uids.map(uid => admin
   .auth()
   .getUser(uid)
   .then((userRecord) => {
      return userRecord.toJSON();
   })
   .catch(console.error)
);const users = await Promise.all(userPromises); // The problem!

Heureusement, le traitement n'est pas sensible au temps ou intensif, il est donc acceptable d'effectuer le traitement en séquence.

Remarque complémentaire : le runtime JavaScript ne traite pas réellement en parallèle et n'est pas multithread, mais dispose plutôt d'une boucle d'événements pour effectuer des opérations d'E/S non bloquantes. Par exemple, si une promesse appelle une URL externe, le runtime traitera la tâche suivante sur la boucle d'événements en attendant la réponse de l'URL appelée. Cela rend le traitement multithread et rapide. Pour cette raison, le traitement séquentiel est généralement beaucoup plus lent puisque vous bloquez jusqu'à ce que la promesse se termine complètement.

Au début, vous pensez peut-être utiliser le forEach… Ne faites pas ! Le forEachne joue pas bien avec aysncet causera des problèmes.

Cependant, la version ES 2018 de forjoue assez bien pour le traitement séquentiel avec await:

const resolvePromisesSeq = async (tasks) => {
  const results = [];
  for await (const task of tasks) {
    results.push(task);
  }  return results;
};

Le resolvePromisesSeqprendra un tableau de tâches et traitera ensuite chacune dans l'ordre.

Mettons à jour le code Firebase pour qu'il soit séquentiel :

const uids = ["id1", "id2",...];
const userPromises = uids.map(uid => admin
   .auth()
   .getUser(uid)
   .then((userRecord) => {
      return userRecord.toJSON();
   })
   .catch(console.error)
);const users = await resolvePromisesSeq(userPromises); // No longer a problem!

Belle!

Et la nouvelle fonction est réutilisable chaque fois que vous devez traiter les promesses de manière séquentielle.

Source : https://betterprogramming.pub/how-to-sequentially-resolve-an-array-of-promises-in-javascript-19bcd42417e8

#javascript 

Ajay Kapoor

1626321063

JS Development Company India | JavaScript Development Services

PixelCrayons: Our JavaScript web development service offers you a feature-packed & dynamic web application that effectively caters to your business challenges and provide you the best RoI. Our JavaScript web development company works on all major frameworks & libraries like Angular, React, Nodejs, Vue.js, to name a few.

With 15+ years of domain expertise, we have successfully delivered 13800+ projects and have successfully garnered 6800+ happy customers with 97%+ client retention rate.

Looking for professional JavaScript web app development services? We provide custom JavaScript development services applying latest version frameworks and libraries to propel businesses to the next level. Our well-defined and manageable JS development processes are balanced between cost, time and quality along with clear communication.

Our JavaScript development companies offers you strict NDA, 100% money back guarantee and agile/DevOps approach.

#javascript development company #javascript development services #javascript web development #javascript development #javascript web development services #javascript web development company