I am trying to run two hooks synchronously on Feathersjs but the "addHost" function called by the statement "hook.service.find({ query: { active: '1' } }).then(page => page.data.forEach(addHost));" in the first hook is executing after the second hook. I need that all statements in hook1 finished before starting hook2. What I am doing wrong? thanks in advance! My code is the following:
Hook1:
module.exports = function (options = {}) {
return function hook1 (hook) {
hook.service.find({ query: { active: '1' } }).then(page => page.data.forEach(addHost));
};
};
function addHost(client) {
/* Some code here.... */
console.log('This code is executing at the end');
}
Hook2:
module.exports = function (options = {}) {
return function hook2 (hook) {
/* Some code here.... */
console.log('This code is executing first');
};
};
xxx.hooks.js file
module.exports = {
/* Some code here.... */
after: {
all: [],
find: [],
get: [],
create: [hook1(), hook2()],
update: [],
patch: [hook1(), hook2()],
remove: []
},
/* Some code here.... */
};
Output:
This code is executing first
This code is executing at the end