我在Android的JSONStore init函数中遇到问题。它将挂起大约10分钟,直到JSONStore给我初始化结果回调为止。只有在Android和iPhone上才能正常工作。我可以给出复制过程:


在“干净的” Android上安装我的应用程序,该Android之前尚未安装过该应用程序。
通过我的辩论成功地初始化了JSONStore(我将在下面附上代码)。
然后,我重新安装我的应用程序,请注意,我没有卸载它,只是将其替换为新的版本。
替换后,我使用相同的身份验证尝试初始化JSONStore,但是挂起了...。(也许将在10分钟或更长时间给出结果回调,没有错误处理程序触发)。
如果杀死了该应用程序并重新启动它,那么这次JSONStore初始化非常快并且可以正常工作


我用inspect调试了应用程序,并且确定这是WL.JSONStore.init没有给我挂起应用程序的结果回调的问题。我不知道为什么第一次需要花那么多时间。有人遇到与我相同的问题吗?

var options = {password:pscd,localKeyGen:true};
var promise =
WL.JSONStore.init(data_collection, options).then(function(){
    console.info("init json store successfully!");
    return true;
}).fail(function (errorObject) {
    console.info("init json store failed!" + errorObject);
    return false;
});
return promise;

最佳答案

我刚刚在您拥有的相同6.1版本中尝试了以下代码,并且对我在Android Emulator和Nexus 4上都可以正常运行:

    var data_collection = {people : {
        searchFields : {name : 'string', age : 'integer'}
        }
    };
    var pscd = "samplepassword";
    var options = {password:pscd,localKeyGen:true};
    var promise =
    WL.JSONStore.init(data_collection, options).then(function(){
        alert("init json store successfully!");
        return true;
    }).fail(function (errorObject) {
        alert("init json store failed!" + errorObject);
        return false;
    });
    return promise;


唯一可能与您的代码不同的是您的密码或data_collection变量。您能否添加有关data_collection是什么的更多详细信息?

关于android - Worklight 6.1 JSONStore调用WL.JSONStore.init在Android中挂起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25799909/

10-10 08:23