Check this thread:
That conversation continued over several PMs. The conclusion was that Meteor’s inbuilt Promises work as expected with fibers/futures, but other Promise libraries don’t play well. If you really cannot use Meteor’s Promises, your best bet will be to use the standard npm module methods (without callbacks) which Meteor uses under the hood: these return Promises. So, instead of doing a normal Meteor insert like this:
function sendDB (frenchArray) {
...
Tags.insert(...);
you would do something like
async function sendDB (frenchArray) {
...
const idTag = await Tags.rawCollection().insert(...);
or use a standard doThing().then(doOtherThing) promise chain.
You should then be able to use Q (never tried Q, but I was able to get Bluebird to work this way). Note that the syntax of these methods is not quite the same as the exposed Meteor methods. Check the docs for more information ![]()