Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JavaScript - http request Fehler abfangen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    JavaScript - http request Fehler abfangen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tp1de last edited by

      Hallo ich bräuchte mal Eure Hilfe:

      Ich frage per hhtp-request einzelne Werte eines Servers ab. Funktioniert auch meistens.
      (In einer async function mit await). Dabei bekomme ich aber ETIMEDOUT Fehler zurück. Diese fange ich ab und versuche es nochmal. Dann noch ein drittes Mal. Da parallel (asynchron) aber andere requests laufen, macht der Server dann ab und zu zu, d.h. antwortet mit ETIMEDOUT. Das ist nicht ideal und nicht zu 100% die Lösung.

      Wer kann mir helfen, wie ich das richtig mache? (Eine Liste von hhtp-requests abarbeiten und Fehler abfangen).

      1 Reply Last reply Reply Quote 0
      • H
        homecineplexx last edited by

        poste mal den script-teil, dann kann man dir vielleicht leichter helfen

        1 Reply Last reply Reply Quote 0
        • T
          tp1de last edited by tp1de

          hier der Script-Teil

          // im array list stehen die Abfrage-Werte ....
          
          async function main(list) {
          	let i = 0;
          	for (i = 0; i < list.length; i++)  { 
          		if (list[i] !== '') {
          			const url  = ipadress +  '/'+list[i]) ;
          			try {   
          				const body = await get(url);
                                          ........
          
          			}   
          			catch(error) 
          			{
          				try {   
          					const body = await get(url);
                                                   ......
          				}   
          				catch(error) 
          				{ 
          					try {   
          						const body = await get(url);
                                                          ......
          					}  
          					catch(error){
          						console.log('http Fehler: ' + url + ' ---> ' + error);
          					}
          				}    
          			}			
          		}
          	}	
          }
          
          function get(url) {
          	return new Promise(function(resolve,reject) {
          		const options = 
          		{
          			url: url, 
          			method: 'GET', 
          			timeout: 5000
          		};
          		
          		request(options, function(error,response,body) 
          		{if (error) return reject(error); resolve(body);}); 
          	});
          }
          
          
          
          1 Reply Last reply Reply Quote -1
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          453
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          javascript
          2
          3
          451
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo