簡體   English   中英

使用multithread.js訪問范圍

[英]Access scope with multithread.js

我嘗試生成RSA密鑰,由於這需要一些時間,因此我想使用multithread.js進行密鑰生成。

我的代碼:

<script src="../js/multithread.js"></script>
<script src="../js/crypto/cryptico.js"></script> 
<script>
var keyPair;
var MT = new Multithread(2);

MT.process(
            function () {
                var bits = 4096;
                return cryptico.generateRSAKey("passphrase", bits);
            }, function (key) {
                keyPair = key;
                publicKey = cryptico.publicKeyString(keyPair);
            }
)();
</script>

我得到一個

ReferenceError: cryptico is not defined

錯誤。

我知道multithread.js與應用程序的作用域不同。 那么,如何訪問加密庫或將范圍傳遞給multithread.js?

我自己找到了解決方案。

只需在函數中包含帶有importScripts的必要文件importScripts Webworker已定義此方法。

像這樣:

MT.process(
        function () {
            importScripts('http://localhost:63342/..../js/crypto/cryptico.js');
            var bits = 4096;
            return cryptico.generateRSAKey("passphrase", bits);
        }, function (key) {
            keyPair = key;
            publicKey = cryptico.publicKeyString(keyPair);
        }
)();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM