我正在构建一个条形码阅读器,它在扫描条形码后显示产品的名称。名称和条形码存储在 mongodb 中,我编写了以下代码用于连接数据库:
Future<Map> prod() async {
Db db = Db('mongodb://192.168.2.5:27017/database');
await db.open();
DbCollection coll = db.collection('products');
var information = await coll.findOne(where.eq('code', _Barcode));
await db.close();
return information;
}
我使用未来的构建器来显示名称:
FutureBuilder(
future: prod(),
builder: (buildContext, AsyncSnapshot snapshot) {
if ( snapshot.data== null){
return Container(
child: Center(
child: Text("Loading..."),
),
);} else{
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (buildContext, int index) {
return Container(
child:snapshot.data.name,
);
});}
},)
它一直显示加载文本。