Buscar..
Sintaxis
- 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