обработка ошибок запроса в узле - PullRequest
0 голосов
/ 06 августа 2020

Я использую запрос на доступ к данным из api. иногда, когда api url не работает, узел выдает ошибку и завершает работу со следующей ошибкой

`at ClientRequest.emit (events.js:315:20)`     
`at TLSSocket.socketErrorListener (_http_client.js:426:9)`    
`at TLSSocket.emit (events.js:315:20)`    
`at emitErrorNT (internal/streams/destroy.js:92:8)`    
`at processTicksAndRejections (internal/process/task_queues.js:84:21)         

errno: 'ENOTFOUND', code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: APIURL

есть ли способ справиться с этим и предотвратить выход узла? мой код

const JSONdata= ()=>{

request({url:API_URL2,json:true},(error,response,body)=>{      
    const data=[]   
    var jsondata=body    
    data.push(jsondata)    
    const data2=JSON.stringify(data)    
    fs.writeFile('sample.txt',data2,(err) => { if(error){console.log(error} })})      
                   

1 Ответ

0 голосов
/ 06 августа 2020

наличие try-catch предотвратит сбой или ошибку системы sh, также вы получите process.uncaughtException (), чтобы что-то делать при сбое системы

проверьте ссылку ниже для получения дополнительных сведений

https://nodejs.org/api/process.html#process_event_uncaughtexception

...