Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Promises mit Typescript

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [Vorlage] Promises mit Typescript

    This topic has been deleted. Only users with topic management privileges can see it.
    • Benjamin Häublein
      Benjamin Häublein Developer last edited by

      Falls außer mir auch jemand mittels des JavaScript Adapters mit TypeScript entwickeln möchte und dabei auch noch Promises anstelle der Callbacks einsetzen möchte (siehe https://forum.iobroker.net/topic/5228/vorschlag-core-api-und-javascript-adapter-promises), der kann das wie folgt machen, ohne dass es Probleme mit den Typen gibt:

      function promisify<T>(fn, context = undefined): (...args) => Promise<T> {
          return function (...args): Promise<T> {
              context = context || this;
              return new Promise<T>(function (resolve, reject) {
                  fn.apply(context, [...args, function (error, result) {
                      if (error)
                          return reject(error);
                      else
                          return resolve(result);
                  }]);
              });
          }
      }
      var getStateAsync = promisify<iobJS.State<any>>(getState);
      

      Ich habe etwas rumfrickeln müssen, bis es gepasst hat, bin mit dem Ergebnis aber glücklich 🙂

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      841
      Online

      32.1k
      Users

      80.7k
      Topics

      1.3m
      Posts

      1
      1
      195
      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