indexed_db getObject () - jak zwrócić wynik

Chciałbym wiedzieć, jak zdefiniować typ danych i jak zwrócić obiekt (rekord) za pomocą getObject (). Obecnie jedyny sposób na wykorzystanie wyniku (rekordu) poza funkcją, która go uzyskuje, to wywołanie innej funkcji z wynikiem. W ten sposób typ danych nie musi być określony. Jeśli jednak chcę zwrócić wartość, muszę zdefiniować typ danych i nie mogę znaleźć, co to jest. Próbowałem „dynamicznie”, ale to nie wydawało się działać. Na przykład ":

fDbSelectOneClient(String sKey, Function fSuccess, String sErmes) {
  try {
    idb.Transaction oDbTxn      =   ogDb1.transaction(sgTblClient, 'readwrite');
    idb.ObjectStore oDbTable    =   oDbTxn.objectStore(sgTblClient); 
    idb.Request     oDbReqGet   =   oDbTable.getObject(sKey);
    oDbReqGet.onSuccess.listen((val){
      if (oDbReqGet.result == null) {
        window.alert("Record $sKey was not found - $sErmes");
      } else {
    ///////return oDbReqGet.result;    /// THIS IS WHAT i WANT TO DO
        fSuccess(oDbReqGet.result);    /// THIS IS WHAT i'm HAVING TO DO  
      }});
    oDbReqGet.onError.first.then((e){window.alert(
      "Error reading single Client. Key = $sKey. Error = ${e}");});
  } catch (oError) {
    window.alert("Error attempting to read record for Client $sKey.
       Error = ${oError}");    
  }
}
fAfterAddOrUpdateClient(oDbRec) {
  /// this is one of the functions used as "fSuccess above

questionAnswers(1)

yourAnswerToTheQuestion