I have just got started using Espruino, it looks great, but I have come across a few issues. I don't know if it's my fault, but I have found that when I use the built in HTTP server the callback function is called twice. Once with the query parameters, and once (second time) with them nulled out. This
I am using using a compiler to generate my JS, so it's slightly awkward but still readable. Here is the callback used by wifi.connect()
var onConnected = function onConnected(err) {
if (err == null) {
console.log("IP: " + wifi.getIP().ip);
var http = require("http");
var callback = function callback(request, response) {
var query = void 0;
var matchValue = url.parse(request.url, true).query;
if (matchValue == null) {
query = null;
} else {
query = matchValue;
}
response.writeHead(200);
response.write("<a href=\"?led=1\">on</a><br/><a href=\"?led=0\">off</a>");
response.end("sup dawg?");
console.log("Callback called");
if (query != null) {
var matchValue_1 = query.led;
if (matchValue_1 === "1") {
digitalWrite(outPutPin, 1);
} else {
digitalWrite(outPutPin, 0);
}
}
};
var server = http.createServer(callback);
server.listen(80);
} else {
console.log("Error: " + err);
}
};
log output from hitting the page once:
=undefined
IP: 192.168.1.102
Callback called
Callback called
The work around I'm using is just to only set the LEDs if the query is not null. What might be going wrong?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I have just got started using Espruino, it looks great, but I have come across a few issues. I don't know if it's my fault, but I have found that when I use the built in HTTP server the callback function is called twice. Once with the query parameters, and once (second time) with them nulled out. This
I am using using a compiler to generate my JS, so it's slightly awkward but still readable. Here is the callback used by wifi.connect()
log output from hitting the page once:
The work around I'm using is just to only set the LEDs if the query is not null. What might be going wrong?
Thanks