diff --git a/src/static/js/pluginfw/hooks.js b/src/static/js/pluginfw/hooks.js index c7a25bcad..b2c2aaab2 100644 --- a/src/static/js/pluginfw/hooks.js +++ b/src/static/js/pluginfw/hooks.js @@ -82,17 +82,16 @@ async function aCallAll(hook_name, args, cb) { if (!cb) cb = function () {}; if (exports.plugins.hooks[hook_name] === undefined) return cb(null, []); - var newArray = []; - // This should be a map. - await exports.plugins.hooks[hook_name].forEach(async function(hook, index){ - let test = await hookCallWrapper(hook, hook_name, args, function (res) { + var hooksPromises = exports.plugins.hooks[hook_name].map(async function(hook, index){ + return await hookCallWrapper(hook, hook_name, args, function (res) { return Promise.resolve(res); }); - newArray.push(test) }); + var result = await Promise.all(hooksPromises); + // after forEach - cb(null, _.flatten(newArray, true)); + cb(null, _.flatten(result, true)); } /* return a Promise if cb is not supplied */