2013-02-08 39 views
0

有人請向我解釋下面的代碼有什麼問題。 .then((result) {window.alert("Record = ${oDbRec}");})顯示以下行:未來Completer.future

記錄= '_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 
} 

回答

1

我想你想要什麼樣的未來回報,這是「結果」對象傳遞給。那麼()

.then((result) => print('$result')); 
+1

韓國社交協會,約翰 - 那樣明顯,因爲它可能會出現。 – 2013-02-08 17:26:34

+0

不用擔心。我們都去過那裏。 ;) – 2013-02-09 16:39:20