Поиск…


Синтаксис

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

параметры

параметры подробности
func: Функция Асинхронная / синхронная функция, которая будет обернута в волокно, которое принимает обратный вызов w / parameters (error, result) .
контекст: Любой (необязательный) Контекст данных, в котором функция выполняется.

замечания

Асинхронно завернутая функция все равно может выполняться асинхронно, если обратный вызов с параметрами (error, result) => {} задается как параметр для завернутой функции.

Включение Meteor.wrapAsync позволяет Meteor.wrapAsync код с обратными вызовами, учитывая, что обратными вызовами теперь можно пренебречь в компенсации за то, что блокировка звонка представляет собой существующее Fiber .

Чтобы понять, как работают Fibers, читайте здесь: https://www.npmjs.com/package/fibers .

Синхронное выполнение асинхронных методов NPM с обратными вызовами.

В этом примере обертывается асинхронный метод oauth2.client.getToken(callback) из пакета NPM пакета simple-oauth2 в Fiber, чтобы метод можно было вызвать синхронно.

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow