2016-10-13 158 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中拒绝()函数声明,但它没有触发,所以我不能告诉错误来自哪里。

是否有人能够给我任何额外的指针来帮助我追查下来?

回答