Seria muito bom se alguém pudesse dar um exemplo funcional de uma função de gancho que está usando o padrão ES7 assíncrono / espera.
O gerador gera um stub como este:
// 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);
};
};
Não consegui encontrar uma maneira de fazer uma ligação aguardada, como
response = await request('https://whatever.com')
dentro do myHook. Qualquer ajuda é muito apreciada!
Você só precisa tornar return function myHook
assíncrono:
// 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;
};
};
Eu estava pensando esta manhã em adicionar alguns exemplos, de fato.
Muito obrigado! Depois de remover meu erro estúpido e usar seu exemplo, tudo funcionou perfeitamente! Acho que é uma boa ideia adicionar um exemplo aos documentos, já que async / await torna o código muito mais legível.
Este problema foi bloqueado automaticamente, pois não houve nenhuma atividade recente depois que ele foi fechado. Abra um novo problema com um link para este problema para bugs relacionados.
Comentários muito úteis
Eu estava pensando esta manhã em adicionar alguns exemplos, de fato.