0

有人可以向我解释以下代码有什么问题。该行.then((result) {window.alert("Record = ${oDbRec}");})显示以下内容:

记录 = '_ThenFuture@0x2900bd4a' 的实例

我想要的是getObject(). 编码:

fHtmDisplayOneClient(String sKey) {
  var oDbRec;
  oDbRec = fDbSelectOneClient(sKey)
   .then((result) {window.alert("Record = ${oDbRec}");})
    ..catchError((oError) {window.alert("Error from fDbSelectOneClient. ${oError}");
    });
}
Future fDbSelectOneClient(String sKey) {
  var completer = new Completer();
  idb.Transaction oDbTxn      =   ogDb1.transaction(sgTblClient, 'readwrite');
  idb.ObjectStore oDbTable    =   oDbTxn.objectStore(sgTblClient); 
  idb.Request     oDbReqGet   =   oDbTable.getObject(sKey);
  oDbReqGet.onSuccess.first.then((val)  => completer.complete(oDbReqGet.result));
  oDbReqGet.onError.first.then((err)    => completer.completeError(err));
  return completer.future; // return the future
}
4

1 回答 1

1

我认为您想要未来返回的结果,即传递给 .then() 的“结果”对象

.then((result) => print('$result'));
于 2013-02-08T14:40:51.597 回答