在使用LZMA-js

时间:2017-12-26 00:59:18

标签: javascript jquery compression lzma

我正在尝试使用找到here的LZMA-JS库来压缩字符串。这是我的javascript:

var reader  = new FileReader();

reader.addEventListener("load", function () {
    var big_code = reader.result;
    console.log(big_code.length);
    var my_lzma = new LZMA();
    my_lzma.compress(my_lzma, 1, on_finish(result, error) {
        code = result;
    });
    console.log(code.length);
}, false);

此行发生错误

my_lzma.compress(my_lzma, 1, on_finish(result, error) { //the rest occurs below

但是,当我通过移除{}这样的括号来更改此行时

my_lzma.compress(my_lzma, 1, on_finish(result, error));

错误消失了。不幸的是,这使得代码无用,因为我需要result

我已经在互联网上浏览了一个多小时,试图找到解决此错误的方法。我不相信这是重复的,因为我没有发现任何相关内容。

为什么我收到此错误?

1 个答案:

答案 0 :(得分:2)

文档可能令人困惑 - 函数的角色而不是名称是on_finish,因此请使用它来表示您正在创建内联函数:

my_lzma.compress(my_lzma, 1, function (result, error) {
    code = result;
});

请参阅example usage here