1

次のコードの何が問題なのか誰か教えてください。主な問題は、次の行です。

fDbListAllClients;    // this is not being "called"

実行されていないようです。

他にも間違ったコードがあるかもしれません。削除を確認する必要があるかどうかは関係ありませんが、問題の行が実行されない問題の原因を知りたいです。

fDbDeleteOneClient(String sKey) {
  var oDbTxn      =  ogDb1.transaction(sgTblClient, 'readwrite');
  var oDbTable    =  oDbTxn.objectStore(sgTblClient);
  var oDbRecord   =   oDbTable.getObject(sKey);
  oDbRecord.onSuccess.first.then((val) {if (oDbRecord.result == null) {
    window.alert("Record $sKey not found and cannot be deleted");
    return;}});
  var oDbDelReq   =  oDbTable.delete(sKey);
  oDbDelReq.onSuccess.first.then((val1) {
    var oDbRecord   =   oDbTable.getObject(sKey);  // check if it was deleted
    oDbRecord.onSuccess.first.then((val2){
      if (oDbRecord.result != null) {
        window.alert("Record $sKey was found but cannot be deleted");
      }
    });
    fDbListAllClients;    // this is not being "called"
  });  
  oDbDelReq.onError.first.then((e) => window.alert(
    "Error on Delete of $sKey. Error = ${e}"));
}
4

1 に答える 1

1

問題の一部または主な問題は、onSuccess.listen() を使用する必要があることです。誰かが別の質問に答えたように:

「onSuccess はストリームです。複数の要素を受け取りたい場合は、onSuccess.listen で「リッスン」してください。」

于 2013-02-04T02:33:03.547 に答える