gpt4 book ai didi

typescript - 在 TypeScript 中导入 ipfs

转载 作者:行者123 更新时间:2023-12-05 02:43:48 25 4
gpt4 key购买 nike

使用 requireimport 使用 JavaScript/TypeScript 导入和模块初始化通常很简单。我无法从 JS IPFS 运行基本示例 website初始化 ipfs

如果我按照一般说明进行操作,我会收到错误消息:模块解析失败:无法在异步函数外使用关键字“await”(6:13)

这是关键代码:

const IPFS = require('ipfs-core');
const ipfs = await IPFS.create();

如果我按照建议将 ipfs 创建放在 async 函数中,我只是推迟了不可避免的事情。如果我两次调用这样的函数,我会收到来自 Unhandled Rejection (LockExistsError): Lock already being held for file: ipfs/repo.lock 的错误。看来我可以创建一个 hack 来测试是否创建了 ipfs 并将其全局初始化为 null 模块,但这仍然是一个 hack。

我应该如何实现或重构 const ipfs = await IPFS.create(); 而不会出错?

最佳答案

可能您的 Node 版本早于版本 14,并且不支持在顶层调用 await。您必须处于异步 block 的上下文中。你可以这样做:

const IPFS = require('ipfs')

async function main() {
const ipfs = await IPFS.create()
/* Your code here */
}

// and now you can tell node to run your async main function...
main()

检查 https://v8.dev/features/top-level-await在 v8 引擎中了解更多信息。并且还找到了这篇关于 Node 14 支持它的帖子:https://pprathameshmore.medium.com/top-level-await-support-in-node-js-v14-3-0-8af4f4a4d478

关于typescript - 在 TypeScript 中导入 ipfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66755284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com