我目前正在使用Electron和electronic-ga封装(https://www.npmjs.com/package/electron-ga)。
由于事件是异步的,因此我无法同步它们。 我需要的是将所有匹配项放在一个队列中,然后一个接一个地发送(当上一个匹配完成时,发送另一个,依此类推)。
在Google搜索之后,我发现了这一点: http://erictrinh.com/posts/promise-queues/
我尝试将他的示例与Wait函数一起使用,但是它不起作用(来自上面的链接)。 sendEvent()在运行时触发,因此我需要将它们排入队列,而不反映或停止应用程序。
obs:事件和GA的所有设置均正常运行。我只是在诺言和排队方面遇到问题。
var PromiseQueue = function() {
var promise = $.Deferred().resolve();
return {
push: function(fn) {
promise = promise.then(fn, fn);
return this;
}
};
};
function sendEvent(hit, params) {
return function() {
return analytics.send(hit, params).then(function() {console.log("event sent")});
}
}
var queue = new PromiseQueue();
queue.push(sendEvent(hit, params);
queue.push(sendEvent(hit, params);