データベースにクエリを実行するクラスを定義しました。
class SqlGetData {
ConnectionPool pool;
List<String> rows;
SqlGetData(this.pool);
Future <List<String>> run(String sQuery) {
rows = new List<String>();
return readData(sQuery).then((_) {
return rows;
});
}
Future readData(String sQuery) {
return pool.query(sQuery).then((result) {
return result.forEach((row) {
String s = JSON.encode(row);
rows.add(s);
});
});
}
}
私はこれを次のように呼びます:
var sql = new SqlGetData(pool);
sql.run('select firstName, lastName from person where id =' + s1).then((rows) {
some code here to process the data
});
データベースが実行されていない場合、return pool.query
inでエラーが発生しreadData
ます。これをキャッチして、エラー メッセージでクライアントに渡したいと考えています。try ... catch ...
サーバーの停止を防ぐには、どのように、どこにコーディングすればよいですか? 私の問題は、先物を返さなければならないことですが、これはまだ把握するのが難しいです.