如何使 ahoy 的 javascript 异步函数跟踪同步



我有一些代码调用这样的函数:

function trackPDFSEClicks(){
        ahoy.track("Viewed Job Spec", {title: "Viewed Software Engineer Job Spec"});
        window.location.href = "/Software Engineer.pdf";
    }

但是,由于此跟踪调用是异步的 - 有时它不会在 PDF 加载之前完成 - 因此不会跟踪事件。

我不一定想在控制器中处理此跟踪,因为如果可能的话,使用此方法对我来说要简单得多 - 那么有什么方法可以强制此ahoy.track调用同步运行吗?

在 apneadive 的见解之后,我决定在我的控制器中为每个可下载链接创建一个操作 - 并使用 ahoy 的 rails API 与 rails send_file 方法相结合 - 这给了我期望的行为。

最新更新