Что еще за return glob() ?
Все очень просто — в done вызывайте коллбэк завершения таска
Как-то так
bootprintService
…
.done(function(){ cb() });
Однако, учитывая, что эта хрень вызывается в цикле, следйет каждый вызов обернуть в промис, в done резолвить промис,
let services = [];
items.forEach((item) => {
services.push(new Promise((resolve, reject)=>{
bootprintService
...
.done(() => resolve());
}))
});
а коллбэк вызывать в конце, после разрешения всех промисов
Promise.all(services)
.then(function(){ cb() })