关于node.js:Bug-ReferenceError-AbortController-is-not-defined

16次阅读

共计 966 个字符,预计需要花费 3 分钟才能阅读完成。

背景

node server 提供 ipfs 文件上传服务

源码

const {create, globSource}  = require('ipfs-http-client');

this.ipfs = create({host: host, port: port, protocal: protocal});

async addAll(files) {
    let addOptions = {
        pin: true,
        // wrapWithDirectory: true,
        timeout: 10000
    };
    try {let res = []
        for await (const result of this.ipfs.addAll(files, addOptions)) {
            res.push({
                path: result.path,
                size: result.size
            })
        }
        return res
    } catch (error) {throw error}
}

调用 addAll() 办法提醒谬误

ReferenceError: AbortController is not defined

起因

AbortController 对 node 版本有要求,要求 v16.xx.xx,所以只须要降级 node 版本即可。

降级 node

服务器零碎是 centos,能够抉择 node 版本管理工具 n

装置 n

npm install -g n

下载 node

n 10.16.0 // 指定版本下载
n lts // 最新版本下载 

切换 node 版本

n
ο node/8.11.3
  node/10.15.0
  node/v16.8.0

查看以后版本

node -v

如果这里发现还是原来的版本,没有降级胜利有可能是本地 node 指向问题,n 装置的源文件默认装置在 /usr/local/bin 上面,先查看下以后指向

which node

如果没有指向 /usr/local/bin,批改本地配置

vim ~/.bash_profile

N_PROFIX=/usr/local
PATH=$N_PROFIX/bin:$PATH

export PATH

查看以后版本

node -v
v16.8.0

后果

降级完结后,重新安装依赖启动服务,再次调用 addAll 办法,调用胜利。

总结

从遇到问题到解决问题,破费工夫次要在降级 node 版本而不是定位问题。遇到这个问题不能阐明什么,毕竟问题切实太多纯靠积攒,然而在 node 生态工具的应用上还是十分欠缺破费了不少工夫,后续能够在这方面深刻一点。

正文完
 0