You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写获取RageMP服务器信息的JS程序无报错仅输出空行是什么原因?

问题排查结果

核心原因

你定义的async匿名箭头函数仅完成了声明,没有被主动调用执行,函数内部的所有逻辑都不会运行,所以除了开头的console.log('test')会输出外,没有其他日志也不会触发报错。

其他潜在问题

  • 如果是在Node.js v18以下版本运行,原生环境没有内置fetch方法,函数执行后会抛出fetch is not defined错误,需要提前安装node-fetch依赖并引入
  • 要确认CDN返回的数据集里确实存在164.132.226.166:22005对应的键,否则取值时会出现Cannot read properties of undefined报错

修复方案

把声明的async函数改成立即执行函数表达式(IIFE)即可,同时可以增加服务器数据存在性判断避免异常,修改后的代码如下:

const config = require("./conf.json");

console.log('test')

// 末尾加()表示立即执行该函数
(async() => {
    const IP = "164.132.226.166";
    console.log('IP definiert');
    const PORT = "22005";
    console.log('Port definiert');
    try {
        let req = await fetch("https://cdn.rage.mp/master/", {
        method: "GET",
    });
    console.log('Macht da was mit der CDN');
    let data = await req.json();
    let serverData = data[`${IP}:${PORT}`];
    if (!serverData) {
        console.log('未查询到对应服务器数据');
        return
    }
    let name = serverData.name;
    let gamemode = serverData.gamemode;
    let website = serverData.url;
    let currentPlayers = serverData.players;
    let peakPlayers = serverData.peak;
    let maxPlayers = serverData.maxplayers;
    console.log('Alles definiert');
    console.log(name, gamemode, website, currentPlayers, peakPlayers, maxPlayers);
    }
    catch(e) {
        console.error(e);
    }
})()

内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:36:04