Поиск…
Синтаксис
- 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