Método Node.js util.callbackify()

El método util.callbackify() es una interfaz de programación de aplicaciones incorporada del módulo util que se utiliza para ejecutar una función asíncrona y obtener una devolución de llamada en node.js.
Sintaxis: 
 

util.callbackify( async_function )

Parámetros: este método acepta un solo parámetro como se mencionó anteriormente y se describe a continuación. 
 

  • async_function: Es un parámetro requerido, significa una función asíncrona original.

Valor de retorno: devuelve una promesa como una función de estilo de devolución de llamada de error primero. que toma (err, ret) => {} como parámetro, cuyo primer argumento es error o motivo de rechazo, posiblemente nulo (cuando se resuelve la promesa), y el segundo argumento es el valor resuelto.
Los siguientes ejemplos ilustran el uso del método util.callbackify() en Node.js:
Ejemplo 1: 
 

javascript

// Node.js program to demonstrate the   
// util.callbackify() Method 
  
// Allocating util module
const util = require('util');
  
// Async function to be called
// from util.callbackify() method
async function async_function() {
    return 'message from async function';
}
  
// Calling callbackify()
const callback_function = 
        util.callbackify(async_function);
  
// Listener for callback_function
callback_function((err, ret) => {
    if (err) throw err;
    console.log(ret);
});

Producción: 
 

message from async function

Ejemplo 2: 
 

javascript

// Node.js program to demonstrate the   
// util.callbackify() Method 
  
// Allocating util module
const util = require('util');
  
// Async function to be called 
// from util.callbackify() method
async function async_function() {
    return Promise.reject(new Error(
        'this is an error message!'));
}
  
// Calling callbackify()
const callback_function =
    util.callbackify(async_function);
  
// Listener for callback_function
callback_function((err, ret) => {
  
    // If error occurs
    if (err && err.hasOwnProperty('reason')
        && err.reason === null) {
  
        // Printing error reason
        console.log(err.reason);
    } else {
        console.log(err);
    }
});

Producción: 
 

Error: this is an error message!
    at async_function (C:\nodejs\g\util\callbackify_2.js:6:25)
    at async_function (util.js:356:13)
    at Object. (C:\nodejs\g\util\callbackify_2.js:12:1)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)

Nota: El programa anterior se compilará y ejecutará utilizando el comando node filename.js.
Referencia: https://nodejs.org/api/util.html#util_util_callbackify_original
 

Publicación traducida automáticamente

Artículo escrito por gekcho y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *