【问题标题】:Track when EventBus is not null in Pdf.js跟踪 Pdf.js 中 EventBus 何时不为空
【发布时间】:2021-10-04 22:12:40
【问题描述】:

我在我的项目中使用 pdf.js 库,我需要跟踪字段 PdfViewerApplication.eventBus 变为非空并准备好使用的时刻。 https://github.com/mozilla/pdf.js/issues/10718#issuecomment-481175959 等各种解决方案对我不起作用,因为 pdf.js 的源代码有两个地方 eventBusDispatchToDOM 属性默认设置为 false 并且设置不真实在不更改源代码的情况下将其发送到true。 谁能帮我跟踪PdfViewerApplication.eventBus 何时变为非空或以某种方式设置eventBusDispatchToDOM = true 而无需更改源代码?

【问题讨论】:

    标签: javascript pdfjs


    【解决方案1】:

    试试:

    waitForEventBus(){
        while (window.PDFViewerApplication == undefined || 
                window.PDFViewerApplication.eventBus == null) {
                    console.log("eventBus is null");
                    setTimeout(this.waitForEventBus, 100)
                    return
                }
        console.log(window.PDFViewerApplication.eventBus);
      }
    

    【讨论】:

    • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
    • 我已经有像你这样的解决方案,但我想要更可靠的解决方案,因为如果你有多个事件流,那么在 100 毫秒的时间间隔内你会遇到问题。如果您想在事件 A 上为 eventBus 设置侦听器,请在初始化时尽快,并且事件 A 将在 100 毫秒内触发,您将丢失事件 A。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2014-10-13
    • 2014-02-03
    • 1970-01-01
    相关资源
    最近更新 更多