无极队列电子

时间:2018-07-19 13:55:12

标签: javascript google-analytics promise electron

我目前正在使用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);

0 个答案:

没有答案