2017-03-02 118 views
0

我正在查詢有關星號消息的Thunderbird/Gloda(對於其他查詢也是如此)。此外,我假設所有返回的消息應該有一個ID(不返回:未定義爲ID)。gloda查詢結果無限循環?

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

或....

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

我有一個主演消息。如果我迭代返回的集合,我會得到1個id(由alert(msg.id);)和數百萬個'undefined'。我實際上必須殺死雷鳥然後擺脫一個明顯的無限循環。

觀察: aCollection.items.length = 0(但有11D)

方式來迭代,都導致無休止的循環:

1)
for each (let glodaMsg in aCollection)

2 )

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

3)這是來自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) {}; 

只是一個附加註釋: 如果我嘗試在一個tabmail顯示集合,它是空的,對應於長度== 0:使用用於顯示

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

發生了什麼,我做錯了什麼?

任何幫助表示讚賞,

克勞斯

回答

0

我真的試過在引號和測試它在我的控制檯上。 query.starred("true");應該做的伎倆。