Javascript 未处理的PromisejectionWarning:错误:getaddrinfo ENOTFOUND<;网站>;NestJS中的错误

Javascript 未处理的PromisejectionWarning:错误:getaddrinfo ENOTFOUND<;网站>;NestJS中的错误,javascript,node.js,nestjs,Javascript,Node.js,Nestjs,我制作了一个解析器来收集来自其他网站的新闻,现在我在尝试在我的NestJS后端项目中实现这个解析函数时遇到了一个错误。我需要做什么?问题可能是在使用本地服务器时试图连接到其他网站 import { Injectable } from '@nestjs/common'; import { Cron, CronExpression } from '@nestjs/schedule'; import { InjectRepository } from '@nestjs/typeorm'; import

我制作了一个解析器来收集来自其他网站的新闻,现在我在尝试在我的NestJS后端项目中实现这个解析函数时遇到了一个错误。我需要做什么?问题可能是在使用本地服务器时试图连接到其他网站

import { Injectable } from '@nestjs/common';
import { Cron, CronExpression } from '@nestjs/schedule';
import { InjectRepository } from '@nestjs/typeorm';
import { TypeOrmCrudService } from '@nestjsx/crud-typeorm';
import { News } from './entity/news.entity';

@Injectable()
export class NewsService extends TypeOrmCrudService<News> {
    private newsArray: News[];

    constructor(@InjectRepository(News) newsRepository) {
        super(newsRepository);
    }

    fillNewsArray(): void {
        const axios = require('axios');
        const cheerio = require('cheerio');
        let newsArray: News[];
        const parse = async () => {
            const getHTML = async (url) => {
                const { data } = await axios.get(url);
                return cheerio.load(data);
            };

            const selector = await getHTML('https://livennov.ru/news/?PAGEN_2=1');
            selector('div.b-section-item__body').each(async (i, element) => {
                let object: News;
                const title = selector(element).find('h3.b-section-item__title').text();
                const date = selector(element).find('div.b-meta-item').text();
                const url = `https://livennov.ru${selector(element).find('a').attr('href')}`;
                const descURL = await getHTML(`https://livennov.ru${url}`);
                descURL('h2').remove();
                const imgUrl = `https://livennov.ru${descURL('.content-full-width').find('img').attr('data-src')}`;
                const descr = descURL('div.b-news-detail-body').text();
                object.headline = title;
                object.description = descr;
                object.imageUrl = imgUrl;
                object.originalUrl = url;
                object.dateTime = date;
                object.type = 'sports';
                console.log(object)
                newsArray.push(object);
            })
        }
        parse();
    }

    @Cron(CronExpression.EVERY_10_SECONDS)
    async handleCron() {
    }

}
从'@nestjs/common'导入{Injectable};
从'@nestjs/schedule'导入{Cron,CronExpression};
从'@nestjs/typeorm'导入{InjectRepository};
从'@nestjsx/crud typeorm'导入{TypeOrmCrudService};
从“./entity/News.entity”导入{News};
@可注射()
导出类新闻服务扩展了TypeOrmCrudService{
私有新闻数组:新闻[];
构造函数(@InjectRepository(News)newsRepository){
超级(新闻库);
}
fillNewsArray():void{
const axios=require('axios');
const cheerio=需要(“cheerio”);
let newsaray:News[];
const parse=async()=>{
const getHTML=async(url)=>{
const{data}=await axios.get(url);
返回cheerio.load(数据);
};
const selector=await getHTML('https://livennov.ru/news/?PAGEN_2=1');
选择器('div.b-section-item__-body')。每个(异步(i,元素)=>{
让对象:新闻;
const title=选择器(元素).find('h3.b-section-item__title').text();
const date=选择器(元素).find('div.b-meta-item').text();
常量url=`https://livennov.ru${selector(element.find('a').attr('href')}`;
const descURL=wait getHTML(`https://livennov.ru${url}`);
descURL('h2').remove();
常数imgUrl=`https://livennov.ru${descURL('.content-full-width').find('img').attr('data-src')}`;
const descr=descURL('div.b-news-detail-body').text();
object.headline=标题;
object.description=descr;
object.imageUrl=imgUrl;
object.originalUrl=url;
object.dateTime=日期;
object.type='sports';
console.log(对象)
push(对象);
})
}
parse();
}
@Cron(CronExpression.每10秒一次)
异步handleCron(){
}
}

请在GetAddrInfoReqWrap.onlookup[作为oncomplete](dns.js:67:26)添加完整的错误消息(节点:32640)未经处理的PromiserEjectionWarning:error:getaddrinfo ENOTFOUND livennov.ruhttps(使用
节点--跟踪警告…
显示警告的创建位置)(节点:32640)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志
--unhandled rejections=strict
(请参阅)。(拒绝id:2)@R.LM这是我希望从不同于本地的服务器获得响应的问题吗?不,这方面应该没有问题,但ENOTFOUND表示无法加入服务器。这可能是服务器端问题(服务器没有响应)或防火墙阻止来自requestin的嵌套