Javascript 如何修复';无法读取属性';包括';未定义的';在nodejs?[文字]

Javascript 如何修复';无法读取属性';包括';未定义的';在nodejs?[文字],javascript,node.js,linux,Javascript,Node.js,Linux,我正在设置一个新服务器,想运行一个nodejs脚本来协调。但问题是,;它在脚本启动/运行后发布错误 我曾尝试在GitHub上联系“author”,但没有得到任何答复,以便对其进行修复,我也曾尝试在我在线的其他服务器上进行测试,但它显示了相同的错误。(包括nodejs/npm版本的降级。) 我找到的代码来自此GitHub页面: 下面是错误,我在将nodejs&npm更新到最新版本后得到的 (节点:23692)未处理的PromisejectionWarning:TypeError:无法读取未定义的属

我正在设置一个新服务器,想运行一个nodejs脚本来协调。但问题是,;它在脚本启动/运行后发布错误

我曾尝试在GitHub上联系“author”,但没有得到任何答复,以便对其进行修复,我也曾尝试在我在线的其他服务器上进行测试,但它显示了相同的错误。(包括nodejs/npm版本的降级。)

我找到的代码来自此GitHub页面:

下面是错误,我在将nodejs&npm更新到最新版本后得到的

(节点:23692)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“includes”
at/home/mikkel/bots/csgo/app.js:87:24
在
在进程中。_tick回调(内部/process/next_tick.js:189:7)
(节点:23692)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。(拒绝id:13)
我不知道,这个错误意味着什么,因为我是noob to nodejs

npm/节点的版本:

节点:v8.16.1
净现值:6.12.0
我必须改变的是什么。我对javascript或nodejs没有感觉。脚本自由地放在GitHub上

更新:编辑日期:2019年10月10日-15:28
日期格式是什么例子;在github上,它从check-update.txt读取以下格式:10/23/2018(例如)

似乎它不适合我在Discord上发布。(如果不这样做,它应该这样做)

例如:

    // Checking every 10 seconds if there's a new update, and if it's been posted already
    setInterval(getUpdate, 10000);
问题是:

            // Do nothing if update has been posted already.
        }
    })();
}

也许我应该从discord开发者那里创建一个新的机器人?

更改它。请求url
http
https
isoDate
publidate
。源内容中没有isoDate

//设置RSS源URL
let feed=wait rssParser.parseURL('https://blog.counter-strike.net/index.php/category/updates/feed/');
//将项目设置为变量
feed.items.forEach(item=>{
if(item.pubDate.includes(`${date}`)){
updateTitle=item.title;
updateURL=item.link;
updateContent=item.contentHtml;
updateDate=item.pubDate | |“”;
}
});

更改它。请求url
http
https
isoDate
publidate
。源内容中没有isoDate

//设置RSS源URL
let feed=wait rssParser.parseURL('https://blog.counter-strike.net/index.php/category/updates/feed/');
//将项目设置为变量
feed.items.forEach(item=>{
if(item.pubDate.includes(`${date}`)){
updateTitle=item.title;
updateURL=item.link;
updateContent=item.contentHtml;
updateDate=item.pubDate | |“”;
}
});

您发布的错误如下所示:

(node:23692) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'includes' of undefined
    at /home/mikkel/bots/csgo/app.js:87:24
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
因此,
updateDate
对象必须以某种方式未定义。通过查看,我们看到它只设置在第70行的forEach循环中,但它位于该循环中的if语句中

feed.items.forEach(item => {
    if (item.isoDate.includes(`${date}`)) {
        updateTitle = item.title;
        updateURL = item.link;
        updateContent = item.contentHtml;
        updateDate = item.isoDate;
    }
});
如果循环从未运行,则永远不会设置
updateDate
。如果循环中的每个项目都没有在其
isoDate
属性中包含日期,则将永远不会设置
updateDate

因此,我们必须警惕这些情况

通过将第87行更改为以下内容,我们可以添加一个条件,即
updateDate
已设置为某物:

if (updateDate && updateDate.includes(`${date}`)) {

您发布的错误如下所示:

(node:23692) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'includes' of undefined
    at /home/mikkel/bots/csgo/app.js:87:24
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
因此,
updateDate
对象必须以某种方式未定义。通过查看,我们看到它只设置在第70行的forEach循环中,但它位于该循环中的if语句中

feed.items.forEach(item => {
    if (item.isoDate.includes(`${date}`)) {
        updateTitle = item.title;
        updateURL = item.link;
        updateContent = item.contentHtml;
        updateDate = item.isoDate;
    }
});
如果循环从未运行,则永远不会设置
updateDate
。如果循环中的每个项目都没有在其
isoDate
属性中包含日期,则将永远不会设置
updateDate

因此,我们必须警惕这些情况

通过将第87行更改为以下内容,我们可以添加一个条件,即
updateDate
已设置为某物:

if (updateDate && updateDate.includes(`${date}`)) {

如果(item.isoDate.includes(`${date}`),则无法读取未定义“>
的属性
includes
){
那里,
item.isoDate
似乎是
未定义的
@Cerbrus,我明白你的意思。但这怎么会是问题呢?-这对我来说很奇怪。添加额外的条件,比如updateDate不是空的/未定义的,并且具有ex:
的长度(updateDate&&updateDate.length&&updateDate.includes(
${dateDate}
如果
isoDate
未定义,它如何调用
.includes
呢?它不能。includes用于数组或字符串类型“无法读取未定义的属性
includes
”>
如果(item.isoDate.includes(`date}')){
那里,
item.isoDate
似乎是
未定义的
@Cerbrus,我明白你的意思。但这怎么会是问题呢?-这对我来说很奇怪。添加额外的条件,比如updateDate不是空的/未定义的,并且具有ex:
的长度(updateDate&&updateDate.length&&updateDate.includes(
${dateDate}
如果
isoDate
未定义,它如何调用
。includes
呢?它不能。includes用于数组或字符串typesHi@IMP1,谢谢你提供的信息。我已经更新了,没有更多错误。但是它应该“发布”一个关于discord的更新。因为有一个更新(今天09-10-19-取决于日期的格式)所以实际上,它应该发布“更新”来自RSS的自动>>-示例。所以不知道,关于我应该更新日期格式化的check-update.txt:
bash 2019.10.09 10.09 2019 10/09/2019 09/10/2019或09/10/19
Hi@mrc4tt:我不太确定你在问什么。不过,今天是第10天。这会有区别吗?如果你手动设置查找日期?若要执行此操作,请在第64行中添加一行类似的内容。date=“2019-10-09”。您好@IMP1,谢谢您提供的信息。我已经更新了它,没有更多错误。但它应该是“po”