Using promises
Opened this issue · 1 comments
shareefhadid commented
This package should really be using promises as most calls are asynchronous.
This wasn't made clear in the documentation, but I realized it when I performed an expensive operation and the connection closed before it could be completed.
For now I need to wrap the calls in promises myself and resolve/reject in the callback like so:
await new Promise((resolve, reject) => {
mixpanel.people.set_once(identifier, data, (e) => {
if (e) {
reject(e);
}
resolve(null);
});
}
vsnthdev commented
I was using this on Vercel Serverless functions, and events weren't reflecting on the dashboard. After doing some investigation, turns out the serverless function closes even before a request is fully made.
Thanks for the solution @shareefhadid