Szukaj…
Składnia
- Meteor.wrapAsync (func, [kontekst])
Parametry
Parametry | Detale |
---|---|
func: Funkcja | Funkcja asynchroniczna / synchroniczna, która ma być zapakowana we Fibre, która przyjmuje wywołanie zwrotne z parametrami (error, result) . |
kontekst: dowolny (opcjonalnie) | Kontekst danych, w którym funkcja jest wykonywana. |
Uwagi
Funkcja asynchronicznie opakowana może być nadal uruchamiana asynchronicznie, jeśli wywołanie zwrotne z parametrami (error, result) => {}
zostanie podane jako parametr dla funkcji opakowanej.
Włączenie Meteor.wrapAsync
pozwala Meteor.wrapAsync
kod z wywołaniami zwrotnymi, biorąc pod uwagę, że połączenia zwrotne mogą być teraz zaniedbywane w ramach rekompensaty za uczynienie bloku połączenia jego obecnym Fiber
.
Aby zrozumieć, jak działają włókna, przeczytaj tutaj: https://www.npmjs.com/package/fibers .
Synchroniczne wykonywanie asynchronicznych metod NPM z wywołaniami zwrotnymi.
Ten przykład otacza metodę asynchroniczną oauth2.client.getToken(callback)
z pakietu NPM pakietu simple-oauth2
do Fibre, aby można było wywołać metodę synchroniczną.
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow