2016-10-13 154 views
0

我正在嘗試開發一個HTA,用於從一個大型辦公室的許多人的PDF文件中提取和處理數據。我一直在尋找使用PDF.js包,但我一直沒有能夠得到它的工作。PDF.js HTA,承諾被拒絕

我已經創建了forked the project,並創建了包含compatibility.js文件的helloworld示例的HTA版本。我可以通過gulp服務器獲得一個HTML版本,它可以在Firefox和IE11上運行,但HTA不會提供任何輸出 - 沒有文本,也沒有錯誤消息。

在用alert()語句對源文件進行胡椒化之後,我發現原始的hello.js文件缺少承諾拒絕函數,並且在添加時觸發,但是在這裏我滿足了我的知識極限。我並不十分了解承諾,所以我不明白爲什麼這個失敗。這是否可以解決或者是否意味着該包不會在HTA中運行?


編輯:

我一直在尋找更多的進入這個和失敗是沒有意義的。

通過跟蹤邏輯,hello.js文件從api.js調用函數api.getDocument。在此之後,在該行正在運行之前,只有一個return語句和alert語句。但是履行的功能不會觸發。

從我非常有限的理解中,承諾的故障條款將從異步操作中的throw()語句觸發。如果是這種情況,那麼我會期望該操作立即停止並觸發拒絕功能,但爲什麼緊接返回語句之前的行仍然運行?

我沒有追求一種理論,該行從api.js是一個投擲的錯誤:

}).catch(task._capability.reject); 

要檢查這一點,我添加了一個警告語句在util.js中拒絕()函數聲明,但它沒有觸發,所以我不能告訴錯誤來自哪裏。

是否有人能夠給我任何額外的指針來幫助我追查下來?

回答