JSONStrore / 工作灯

JSONStrore / WORKLIGHT

一个小问题 JSONStore.add(data).then().fail()

函数 initialiserBD() 运行并且 return 成功。函数 remplireBD() 没有 return 成功。肯定是函数 WL.JSONStore.get().add().then().fail()

Object "errorObject" send error :-50 PERSISTENT_STORE_NOT_OPEN

function wlCommonInit() {
   initialiserBD();
   remplireBD();
}

function initialiserBD() {
    var collectionName="Personnes" ;
    var collections = {};

    collections[collectionName]= {};
    collections[collectionName].searchFields={nom :'string'};

    WL.JSONStore.init(collections).then(function(){})
        .fail(function(errorObject) {
            alert(errorObject.tostring());
        });
}

function remplireBD(){
    var data = {
        nom :'Bill Gates'
    };
    var collectionName = 'Personnes';

    WL.JSONStore.get(collectionName).add(data).then(function () {})
        .fail(function (errorObject) {
            alert(errorObject.toString());
        });
}

我认为你的问题有两个方面...

  1. 您在 init 和 "after" init (var collectionName="Personnes" ;)
  2. 之前都初始化了集合
  3. JavaScript 是异步的,你在 initialiserBD 的成功回调中一个接一个地调用 initialiserBDremplireBD 而不是调用 remplireBD ],这可能导致在 init() 完成之前尝试 .get()...