MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Synchronous requests [solved]

    Scheduled Pinned Locked Moved Development
    14 Posts 2 Posters 8.9k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • paviroP Offline
      paviro Admin
      last edited by

      I do not quite understand how the itemsReceivedCallbackworks :confused:

      We're all stories in the end. Just make it a good one, eh?

      – The Doctor

      1 Reply Last reply Reply Quote 0
      • paviroP Offline
        paviro Admin
        last edited by

        Does work great now! The only problem is sometimes a list is empty on a refresh even tough it should not be :/

        { inbox: [],
          'ViRO Entertainment': 
           [ 'Todo1',
             'Todo2',
             'Todo3' ]
         }
        

        We're all stories in the end. Just make it a good one, eh?

        – The Doctor

        1 Reply Last reply Reply Quote 0
        • MichMichM Offline
          MichMich Admin
          last edited by

          I’m on my phone now, so not really able to explain the callbacks. Will do that later.

          Regarding the empty lists: try debugging by putting some log statements on places where You receive and send data.

          1 Reply Last reply Reply Quote 0
          • paviroP Offline
            paviro Admin
            last edited by

            It is not the socket connection. The fetcher sometimes returns an empty list :/

            We're all stories in the end. Just make it a good one, eh?

            – The Doctor

            MichMichM 1 Reply Last reply Reply Quote 0
            • MichMichM Offline
              MichMich Admin @paviro
              last edited by

              @paviro try debugging the Fetchet on the same way. ;)

              1 Reply Last reply Reply Quote 0
              • paviroP Offline
                paviro Admin
                last edited by paviro

                I am on it but I can’t find the problem… :confounded:
                When broadcastItems is fired and therefore fetcher.onReceive triggered the lists are populated. But once broadcastTodos() collects the tasks by looping over the fetchers some lists appear to be empty. Any chance you could have a look?

                We're all stories in the end. Just make it a good one, eh?

                – The Doctor

                1 Reply Last reply Reply Quote 0
                • MichMichM Offline
                  MichMich Admin
                  last edited by

                  Will fork your module tomorrow and give it a try.

                  1 Reply Last reply Reply Quote 0
                  • paviroP Offline
                    paviro Admin
                    last edited by

                    Thanks! :)

                    We're all stories in the end. Just make it a good one, eh?

                    – The Doctor

                    1 Reply Last reply Reply Quote 0
                    • MichMichM Offline
                      MichMich Admin
                      last edited by MichMich

                      Ok, I looked into it, and it really is pretty simple and obvious when I’ll explain you. So prepare for a “Doh!” moment … ;)

                      Right before you do the request to WunderList, you empty the items array:
                      https://github.com/paviro/MMM-Wunderlist/blob/master/fetcher.js#L38

                      Then if Wunderlist responds, you fill the items array with new items.

                      This means that as long as your fetcher is waiting for wunderlist to respond, the items array is empty. If in the meantime an other fetcher is finished fetching, it uses the items array to make a full list. But that array is then still empty, waiting to be filled after the wunderlust response.

                      The solution? Move line 38 (items = [];) to line 51 (above for (var i = 0; i < JSON.parse(body).length; i++) {).

                      Thats all! :)

                      1 Reply Last reply Reply Quote 1
                      • paviroP Offline
                        paviro Admin
                        last edited by

                        And there comes the “Doh!” moment! :D Thanks completely overlooked that…

                        We're all stories in the end. Just make it a good one, eh?

                        – The Doctor

                        1 Reply Last reply Reply Quote 1
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy