El ‘multipleResolves’ es un evento de clase Process dentro del módulo de proceso que se emite cada vez que una Promesa ha sido:
- Resuelto más de una vez.
- Rechazado más de una vez.
- Rechazado después de resolver.
- Resuelto tras rechazo.
Sintaxis:
Event: 'multipleResolves'
Parámetros: Este evento no acepta ningún argumento como parámetro.
Valor de retorno : este evento no devuelve nada más que una función de devolución de llamada para una operación posterior.
Ejemplo 1:
index.js
// Node.js program to demonstrate the // Process 'multipleResolves' Event // Importing process module const process = require('process'); // Independent Block which will execute setTimeout(() => { console.log('\n') console.log('Greetings from GeeksforGeeks'); }, 1000); // Event 'multipleResolves' process.on('multipleResolves', (type, promise, reason) => { // Displaying the error console.log("Type: ", type); console.log("Promise: ", promise); console.log("Reason: ", reason); }); const myFunction = async () => { const data = await new Promise((resolve, reject) => { // Calling reject after multiple resolve resolve('Resolve Call One'); resolve('Resolve Call Two'); resolve('Resolve Call Three'); reject(new Error('Reject Error Called')); }); return data } // Calling our function myFunction().then();
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
Tipo: resolver
Promesa: Promesa { ‘Resolver llamada uno’ }
Motivo: Resolver llamada dos
Tipo: resolver
Promesa: Promesa { ‘Resolver llamada uno’ }
Motivo: Resolver llamada tres
Tipo: rechazar
Promesa: Promesa { ‘Resolver llamada uno’ }
Motivo : Error: error de rechazo llamado
en los datos (C:\Users\Lenovo\Downloads\GeeksforGeeks\Node JS\index.js:27:14)
en la nueva Promesa (<anónimo>)
en myFunction (C:\Users\Lenovo\Downloads \GeeksforGeeks\Node JS\index.js:22:23)
en Object.<anónimo> (C:\Users\Lenovo\Downloads\GeeksforGeeks\Node JS\index.js:33:1)
en Module._compile (interno/ módulos/cjs/loader.js:1138:30)
en Object.Module._extensions..js (interno/modules/cjs/loader.js:1158:10)
en Module.load (internal/modules/cjs/loader.js:986:32)
en Function.Module._load (internal/modules/cjs/loader.js:879:14)
en Function.executeUserEntryPoint [como runMain] (interno /modules/run_main.js:71:12)
en internal/main/run_main_module.js:17:47Saludos desde GeeksforGeeks
Ejemplo 2:
index.js
// Node.js program to demonstrate the // Process 'multipleResolves' Event // Importing process module const process = require('process'); // Event 'multipleResolves' process.on('multipleResolves', (type, promise, reason) => { // Displaying the error console.log("Type: ", type); console.log("Promise: ", promise); console.log("Reason: ", reason); }); const myFunction = async () => { const data = await new Promise((resolve, reject) => { // Calling reject after resolve resolve('Single Resolve call'); reject(new Error('Custom Reason')); }); return data } // Calling our function myFunction().then();
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
Tipo: rechazar
Promesa: Promesa { ‘Llamada de resolución única}
Motivo: Error: Motivo personalizado
en los datos (C:\Users\Lenovo\Downloads\GeeksforGeeks\Node JS\index.js:19:14)
en la nueva Promesa (<anónimo> )
en myFunction (C:\Users\Lenovo\Downloads\GeeksforGeeks\Node JS\index.js:16:23)
en Object.<anónimo> (C:\Users\Lenovo\Downloads\GeeksforGeeks\Node JS\index.js :25:1)
en Module._compile (internal/modules/cjs/loader.js:1138:30)
en Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
en Module .load (internal/modules/cjs/loader.js:986:32)
en Function.Module._load (internal/modules/cjs/loader.js:879:14)
en Function.executeUserEntryPoint [como runMain] (internal/modules /ejecutar_principal.js:71:12)
en interno/principal/ejecutar_principal_module.js:17:47
Referencia: https://nodejs.org/dist/latest-v16.x/docs/api/process.html#process_event_multipleresolves
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA