【问题标题】:How to get todos from Thunderbird/Lightning calendars?如何从 Thunderbird/Lightning 日历中获取待办事项?
【发布时间】:2011-07-11 02:24:08
【问题描述】:

我找不到如何在 Lightning 中获取日历的所有待办事项。我认为来自calICalendar 接口(@98​​7654321@)的函数getItem()getItems() 是解决方案,但我无法使其正常工作。

【问题讨论】:

    标签: thunderbird lightning


    【解决方案1】:

    你正朝着正确的方向前进。你只需要传递你只想要待办事项的标志。一个例子可以在here找到。

    要详细说明下面的示例,有一些语法错误,您可能需要不同的标志。我不确定为什么需要警报,这听起来像是事件循环没有被旋转。您在什么情况下称这些位?

    试试这个:

    var arrayItems = new Array();
    
    var todoListener = {
        onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
        onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) {  
            arrayItems = arrayItems.concat(aItems);
        }
    };
    
    var filter = aCalendar.ITEM_FILTER_TYPE_TODO | aCalendar.ITEM_FILTER_COMPLETED_ALL;
    aCalendar.getItems(filter, 0, null, null, todoListener);
    

    【讨论】:

      【解决方案2】:

      感谢您的示例,我了解了如何实现监听器,这是我的主要问题。

      所以这里是我的代码:

      var arrayItem = new Array; ;
      
          var todoListener = 
          {
              onOperationComplete: function(aCalendar, aStatus, aOperationType, aId, aDetail) {},
              onGetResult: function(aCalendar, aStatus, aItemType, aDetail, aCount, aItems) 
              {    
                  for (let i=0; i < aCount; i++) 
                  {
                      arrayItem.push(aItems[i]);
                  }           
              }
          };
      
          var filter = aCalendar.ITEM_FILTER_ALL_ITEMS;
          filter |= aCalendar.ITEM_FILTER_TYPE_TODO;
          aCalendar.getItems(filter, 0, null, null, todoListener);
      

      但是,我在这里遇到了一个非常奇怪的问题。实际上,我没有得到这段代码的待办事项。我必须在 getItems() 方法之后添加一个alert("something"); 来填充我的arrayItem。否则,它是空的。

      【讨论】:

      • 侦听器是异步的,您需要在 getItems 调用之后旋转事件循环,或者最好更改您的模式以继续在侦听器或嵌套函数中处理。
      猜你喜欢
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 2016-09-08
      • 2022-01-13
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 2022-11-23
      相关资源
      最近更新 更多