javascript - 我怎样才能让ahoy的javascript异步函数跟踪同步

标签 javascript ruby-on-rails asynchronous rubygems ahoy

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

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

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

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

最佳答案

根据 apneadiving 的见解,我决定在我的 Controller 中为每个可下载链接创建一个操作 - 并使用 ahoy 的 Rails API 与 Rails send_file 方法相结合 - 这给了我一种我期望的行为。

关于javascript - 我怎样才能让ahoy的javascript异步函数跟踪同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916655/

相关文章:

javascript - Sequelize js : update/save in model's method

javascript - 在传单中将新创建的多边形转换为 GeoJSON

javascript - 递归javascript/ajax函数: unable to access global variable set inside function

javascript - 无法将项目插入空数组

ruby-on-rails - Rails 3.2 rake 编译问题

c# - 在 C# 中异步发送电子邮件?

ruby-on-rails - 自引用 has_many 通过 Rails

ruby-on-rails - ruby on rails(wkhtmltopdf 页眉页脚问题)

javascript - Jquery + Ajax,Params有数据但响应说没有数据

javascript - 如何在循环中针对 es6 生成器执行异步任务