NEWS


  • Hallo zusammen,
    aktuell habe ich ein Problem mit dem ioBroker und javascript.

    Vorab verwende die folgende Versionen:
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Platform: linux
    Architecture: arm
    CPUs: 4
    Speed: 1400 MHz
    Model: ARMv7 Processor rev 4 (v7l)
    RAM: 927.1 MB
    System uptime: 1 T. 06:56:38
    Node.js: v8.14.0
    NPM: 6.4.1
    Disk size: 29.2 GiB
    Disk free: 27.3 GiB
    Uptime: 1 T. 06:56:31
    Active instances: 15
    Script Engine: Verfügbare Version: 3.6.5; Installierte Version: 4.1.0
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Zu meinem eigentlichen Problem:

    Ich bekomme mittlerweile folgende Fehler, wenn ich etwas per Timeout mache, egal ob ich es per Blocky oder das in Javascript umwandle.

    Fehlermeldung:

    15:55:00.591	error	javascript.0 script.js.common.test.TestScript: script.js.common.test.TestScript:1
    15:55:00.591	error	javascript.0 at script.js.common.test.TestScript:1:15
    15:55:00.591	error	javascript.0 at script.js.common.test.TestScript:1:70
    

    Fehlermeldung aus dem Logfile:

    javascript.0	2019-02-16 16:09:39.575	error	at ContextifyScript.Script.runInContext (vm.js:59:29)
    javascript.0	2019-02-16 16:09:39.575	error	at script.js.common.test.TestScript:1:70
    javascript.0	2019-02-16 16:09:39.575	error	at script.js.common.test.TestScript:1:15
    javascript.0	2019-02-16 16:09:39.575	error	ReferenceError: timeout is not defined
    javascript.0	2019-02-16 16:09:39.575	error	^
    javascript.0	2019-02-16 16:09:39.575	error	(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
    javascript.0	2019-02-16 16:09:39.575	error	script.js.common.test.TestScript: script.js.common.test.TestScript:1
    

    der Quellcode dazu lautet:

    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
    timeout = setTimeout(function () {
      console.log('Ein Test');
    }, 1000);
    
    //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIydVFEUCU0MDklNDB3ajNudUUqSE5uVFNfJTIyJTIweCUzRCUyMjg4JTIyJTIweSUzRCUyMjExMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfc2V0dGltZW91dCUyMiUyMGlkJTNEJTIyJTVEYlFxazglM0FaJTNGcWhEJTVCJTI0NUQlNDBHLiUyQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTEwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJxTmczMm0hJTQwT2F3ZzBTJTdEbXFVU18lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0ZkeVd1c0NocUVQKiU0MF8lN0IlM0Z2eTNHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRUVpbiUyMFRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
    

    Kann mir jemand sagen warum?

    Danke sehr.


  • timeout ist nicht deklariert. Mein Blockly erzeugt diesen Code:

    var timeout;
    
    
    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
    timeout = setTimeout(function () {
      console.log('test');
    }, 1000);
    
    
  • Developer

    Na ja - bei deinem ersten Durchlauf ist timeout nicht definiert. Setze doch einfach vor das ganze einmal var timeout=null. Dann sollte der Fehler weg sein.


  • @Asgothian Vielen Dank, das hat geholfen.

Suggested Topics

  • 3
  • 5
  • 5
  • 72
  • 1
  • 4
  • 3
  • 16

758
Online

38.4k
Users

43.9k
Topics

613.2k
Posts