首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用Trying时出现web worker错误TypeError: sodium.crypto_pwhash不是一个函数

尝试使用Trying时出现web worker错误TypeError: sodium.crypto_pwhash不是一个函数
EN

Stack Overflow用户
提问于 2020-12-08 14:17:26
回答 1查看 102关注 0票数 0

我使用importScripts导入了sodium.js,但是当web worker运行时,它会给出错误TypeError: sodium.crypto_pwhash不是一个函数。但是,worker中的Console.log sodium.js会打印钠对象。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-08 16:48:43

正如在this issue中所解释的,您需要加载browser-sumo version以使其包含crypto_pwhash

代码语言:javascript
运行
复制
const worker_script = `
  self.sodium = {
    onload: function (sodium) {
     postMessage( sodium.crypto_pwhash.toString() );
    }
  };
  importScripts('https://cdn.jsdelivr.net/gh/jedisct1/libsodium.js@master/dist/browsers-sumo/sodium.js');
`;
const worker = new Worker( URL.createObjectURL( new Blob( [ worker_script ], { type: "text/javascript" } ) ) );
worker.onmessage = ({data}) => console.log( data );

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65194012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档