2017-03-02 3 views
0

Ich frage Thunderbird/Gloda nach markierten Nachrichten (passiert auch für andere Anfragen). Außerdem nehme ich an, dass alle zurückgegebenen Nachrichten eine ID haben sollten (nicht zurück: undefiniert für die ID).gloda Abfrageergebnis Endlosschleife?

let query = Gloda.newQuery(Gloda.NOUN_MESSAGE);query.bodyMatches("dd"); 

oder ....

let query = Gloda.newQuery(Gloda.NOUN_MESSAGE);query.starred(true); 

Ich habe eine Lieblings Nachricht. Wenn ich über die zurückgegebene Sammlung iteriere, erhalte ich 1 ID (nach Alert (msg.id);) und Millionen von 'undefined'. Ich muss Thunderbird töten, um aus einer scheinbaren Endlosschleife herauszukommen.

Observations: aCollection.items.length = 0 (, aber es gibt 1 id)

Weise führen alle zu der endlosen Schleife iterieren:

1)
for each (let glodaMsg in aCollection)

)
for each (let [, glodaMsg] in Iterator(aCollection)) 

3) Dieses ist von MDN: https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Gloda_examples

try { 
     for (var glodaMsg in aCollection) { 
      //do something with the Conversation here 
      alert(glodaMsg.id); 
     } 
    } catch (e) {}; 

nur eine Bemerkung: wenn ich versuche, die Sammlung in einem tabmail angezeigt werden, ist es leer, entsprechend Länge == 0:

für die Anzeige mit:

 let tabmail = document.getElementById("tabmail"); 
      tabmail.openTab("glodaList", { 
      collection: aCollection, 
      title: "glodasearch", 
      background: false 
      }); 

Was passiert, was mache ich falsch?

jede Hilfe ist willkommen,

Klaus

Antwort

0

Ich habe versucht, in Anführungszeichen mit echten und getestet es auf meiner Konsole. query.starred("true"); sollte den Trick machen.