Buscar..


Sintaxis

  1. Meteor.wrapAsync (func, [contexto])

Parámetros

Parámetros Detalles
func: Function Una función asíncrona / síncrona que se envuelve en una Fibra que toma una devolución de llamada con parámetros (error, result) .
contexto: Cualquiera (opcional) Un contexto de datos en el que la función se ejecuta.

Observaciones

Una función envuelta asincrónicamente todavía se puede ejecutar de forma asíncrona si se proporciona una devolución de llamada con parámetros (error, result) => {} como un parámetro para la función envuelta.

La incorporación de Meteor.wrapAsync permite Meteor.wrapAsync código Meteor.wrapAsync con devoluciones de llamada, dado que ahora las devoluciones de llamada pueden descuidarse en compensación por hacer que la llamada bloquee su Fiber actual.

Para comprender cómo funcionan las Fibras, lea aquí: https://www.npmjs.com/package/fibers .

Ejecución sincrónica de métodos NPM asíncronos con devoluciones de llamada.

Este ejemplo ajusta el método asíncrono oauth2.client.getToken(callback) del paquete NPM package simple-oauth2 en una Fibra para que el método pueda llamarse de forma sincrónica.

const oauth2 = require('simple-oauth2')(credentials);

const credentials = {
    clientID: '#####',
    clientSecret: '#####',
    site: "API Endpoint Here."
};

Meteor.startup(() => {
    let token = Meteor.wrapAsync(oauth2.client.getToken)({});
    if (token) {
        let headers = {
            'Content-Type': "application/json",
            'Authorization': `Bearer ${token.access_token}`
        }

        // Make use of requested OAuth2 Token Here (Meteor HTTP.get).
    }
});


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow