Mehrere https.get-Aufrufe

Hier wird über die Entwicklung von Skills diskutiert.
Antworten
Benutzeravatar

Themenstarter
nadined
Beiträge: 2
Registriert: Do 1. Dez 2016, 17:08

Fr 8. Sep 2017, 21:00

Hallo zusammen,
ich bin etwas am Verzweifeln und bräuchte dringend Hilfe. :grin:
Mit folgendem Code frage ich meinen Webservice an:

Code: Alles auswählen

https.get(url, function(res) {

	console.log(" -----   https "+url);
	
	var body = '';				
	res.on('data', function (chunk) {		
		body += chunk;		
	});
	res.on('end', function () {		
		console.log(">>>>>>>>>>>>>>> on end ");		
		eventCallback(JSON.parse(body));});
		
}).on('error', function (e) {
	console.log("Got error: ", e);
});
Das funktioniert soweit auch. Ich rufe über den Webservice die ersten zwei Elemente ab, der User kann sich die zwei Elemente nennen lassen und sobald er das dritte hören möchte, soll der Webservice erneut angefragt werden, um wieder 2 Elemente abzurufen. Nur leider klappt der zweite Aufruf absolut überhaupt nicht.

Er geht in den https.get-Block kein zweites mal mehr rein. Kein einziges console.log wird ausgegeben, auch nicht der error-Block.

Was mache ich falsch? Muss ich dieses https irgendwie schließen oder sonst was damit anstellen?

Hilfe. :tired_face:
0 x
Benutzeravatar

amartin
Beiträge: 117
Registriert: Sa 4. Feb 2017, 19:12
Vorhandene Echos: 1
Vorhandene Echo Dots: 1

Sa 9. Sep 2017, 00:02

wie sieht denn der Rest vom Code aus?
0 x
Benutzeravatar

Themenstarter
nadined
Beiträge: 2
Registriert: Do 1. Dez 2016, 17:08

Di 12. Sep 2017, 09:54

Hi, sorry für die späte Rückmeldung.

Der Rest sieht in etwa so aus:

Code: Alles auswählen


var paginationSize = 2;
var url = "xx";

function handleMyIntent(intent, session, response) {
    getJsonFromURL(url+"&$top="+paginationSize, function (answer) {  	
		var speak = answer;
		var cardContent = "cardcontent, ";
		var repromptText = "repromptText";
		ausgabe(speak, repromptText, cardTitle, cardContent, response);	
    });	
	paginationSize = paginationSize+2
}

function getJsonFromURL(url, eventCallback) {
	https.get(url, function(res) {
		var body = '';
		
		res.on('data', function (chunk) {
			body += chunk;
		});

		res.on('end', function () {
			var jsonData = JSON.parse(body);
			eventCallback(jsonData);
		});
	}).on('error', function (e) {
		console.log("Got error: ", e);
	});
}
Es kommt keine Fehlermeldung oä. Er geht beim zweiten Aufruf nur nicht mehr in https.get rein.
0 x
Benutzeravatar

amartin
Beiträge: 117
Registriert: Sa 4. Feb 2017, 19:12
Vorhandene Echos: 1
Vorhandene Echo Dots: 1

Di 12. Sep 2017, 18:43

Deine getJsonFromURL Funktion sieht eigentlich in Ordnung aus, bist du denn sicher, dass deine handleMyIntent Funktion aufgerufen wird? Mit diesem bisschen Code lässt sich das Problem leider schwer weiter eingrenzen, da müsstest Du schon etwas mehr Code raus rücken :)
0 x
Antworten

Zurück zu „Fähigkeiten (Skills) entwickeln“

  • Information