ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠΎΠ³ Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΎΠ½ ES7 async / await.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π·Π°Π³Π»ΡΡΠΊΡ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
// Use this hook to manipulate incoming or outgoing data.
// For more information on hooks see: http://docs.feathersjs.com/api/hooks.html
module.exports = function (options = {}) { // eslint-disable-line no-unused-vars
return function myHook (hook) {
// Hooks can either return nothing or a promise
// that resolves with the `hook` object for asynchronous operations
return Promise.resolve(hook);
};
};
Π― Π½Π΅ ΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½ΡΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
response = await request('https://whatever.com')
Π²Π½ΡΡΡΠΈ myHook. ΠΡΠ±Π°Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ!
ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ return function myHook
async:
// Use this hook to manipulate incoming or outgoing data.
// For more information on hooks see: http://docs.feathersjs.com/api/hooks.html
module.exports = function (options = {}) { // eslint-disable-line no-unused-vars
return async function myHook (hook) {
const body = await request('https://whatever.com');
return hook;
};
};
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΌ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΡΠ²Π°Π» Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ! ΠΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΅ΠΉ Π³Π»ΡΠΏΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ! Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ async / await Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ.
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ Π·Π°ΠΊΡΡΡΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΌ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΡΠ²Π°Π» Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².