当前位置: 首页 > 知识库问答 >
问题:

NodeJS语法问题

汤念
2023-03-14

我的node JS代码有问题,出现错误:

/root/dev/remote/remote.js:43
.on('connection', async (socket) => {
                        ^

SyntaxError: Unexpected token (
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.runMain (module.js:611:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:160:9)
Launching Chromium
[486:527:0824/012248.628260:ERROR:bus.cc(394)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

(google-chrome:486): LIBDBUSMENU-GLIB-WARNING **: 01:22:49.591: Unable to get session bus: Unknown or unsupported transport ?disabled? for address ?disabled:?
[486:610:0824/012250.491318:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[486:610:0824/012250.493116:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[486:610:0824/012250.497596:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
^C[509:509:0824/012302.391101:ERROR:x11_util.cc(109)] X IO error received (X server probably went away)
[486:486:0824/012302.391250:ERROR:chrome_browser_main_extra_parts_x11.cc(62)] X IO error received (X server probably went away)

然而,这种语法非常好。

我尝试过重新安装节点/使用不同的版本,但我不确定它是否与此有关。

这是遥控器。js(还有更多,这只是相关领域)

const server = require('http').createServer();
const socketIO = io(server);

socketIO
.on('connection', async (socket) => {
    socket
    .use((socket, next) => {
        if(true) return null;
        if(socket.handshake.query && socket.handshake.query.token){
            jwt.verify(socket.handshake.query.token, 'SECRET_KEY', (err, decoded) => {
                if (err) return next(new Error('Authentication error'));
                socket.decoded = decoded;
                next();
            });
        }else{
            next(new Error('Authentication error'));
        }
    })

有人知道这是什么吗?我试图将Centos 7 VPS上的chromium实例显示到浏览器中,并通过浏览器进行控制。

共有1个答案

叶富
2023-03-14

您的旧节点是v6。默认情况下,17不支持async关键字(ES7功能)。有一个命令行开关,可以启用一些较新的功能,但老实说,该版本有点旧。

自节点。js现在可以升级到v12,以获得稳定的版本,您可能希望升级到较新的节点。如果要使用最新的语言功能,请使用js版本。

 类似资料:
  • 本文向大家介绍NodeJs基本语法和类型,包括了NodeJs基本语法和类型的使用技巧和注意事项,需要的朋友参考一下 写在前面 今天想要查下Node的类型什么的知识,想要总结下,在Googol上看到一个文章,但是原始的链接不在了,在快照中把这篇文章拉出来,如果原作者有问题,请联系我! 该文章都是一些JS的基础,高手自动跳过!我之前没怎么写过js,这方面比较弱,所以在写node的时候也遇到了麻烦,这里

  • 我在ANTLR4中有以下语法 一切都很好.我在语法1中哪里错了?

  • SyntaxError:无效或意外的令牌第5行我似乎找不到缺少什么或语法错误的地方

  • 我正在查看https://github.com/intoli/remote-browser.我在win10中使用节点11.5工作。我遵循了回购底部的说明: 现在,当我尝试使用以下命令运行它时: 我怎样才能让它工作? 编辑索引。js: 编辑2:

  • 我阅读了一些用C++创建的项目的技术文档。我发现有一行代码包含我不懂的语法: 我看到关键字,这意味着我们处理别名,但这行是做什么的?我怎么能理解呢?我认为这会创建命名别名并将表达式的结果分配给它。但是这个表达是什么呢?

  • 我阅读了一些用C++创建的项目的技术文档。我发现了一行包含我不懂的语法的代码: 我在这里看到关键字。这意味着我们要处理一个别名,但这行是做什么的?我怎么能理解呢?我认为这会创建一个命名别名并将右边表达式的结果分配给它。但是这个表达是什么呢?