gloda查询结果无限循环?

时间:2017-03-02 13:48:23

标签: thunderbird thunderbird-addon

我在星号消息上查询Thunderbird / Gloda(也适用于其他查询)。另外,我假设所有返回的消息都应该有一个id(不返回:id未定义)。

  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'。我实际上必须杀死Thunderbird才能摆脱明显的无限循环。

观察: aCollection.items.length = 0(但有1个id)

迭代的方式,都会导致无休止的循环:

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中显示该集合,则它为空,对应于length == 0:

用于显示:

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

发生了什么,我做错了什么?

感谢任何帮助,

克劳斯

1 个答案:

答案 0 :(得分:0)

我在引号中尝试使用true并在我的控制台上测试它。 query.starred("true");应该做到这一点。