在服务对象中声明的加载函数不会执行

时间:2013-07-25 09:38:05

标签: ibm-sbt

尝试使用javascript获取我的社区列表(以及配置文件)ibmsbt api将具有加载功能的对象传递给 getMyCommunities 函数没有结果。分配给load属性的函数不会被执行。 这是代码:

var communityService = new CommunityService();
communityService.getMyCommunities({
    load: function(communities) {
        var ul = document.getElementById("communities")
        for (var i=0; i<communities.length; i++) {
            var community = communities[i];     
            var li = document.createElement("li");
            ul.appendChild(li);
            li.setAttribute("id", "community" + i);
            dom.setText("community" + i, community.getTitle());
        }
    },
    error: function(error) {
        console.error("Error: "+error.message);
    }
});

但是当我使用诺言时,一切都像魅力一样。这是:

    var cp = communityService.getMyCommunities();
cp.then(
    function(communities){
        var ul = document.getElementById("communities")
        for (var i=0; i<communities.length; i++) {
            var community = communities[i];     
            var li = document.createElement("li");
            ul.appendChild(li);
            li.setAttribute("id", "community" + i);
            dom.setText("community" + i, community.getTitle());
            }
    },
    function(error){
        console.error("Error: " + error.message);
    });

加载函数的API文档说: 当我的社区完成调用时调用此函数。该函数期望接收一个参数,即社区对象 - 我的社区数组。 api doc

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我们的API文档已过期。我们只支持异步调用的Promise语法。我将更新API文档,但在此期间您可以使用SDK下载中的文档。

问马克