FirebaseFirestore.instance
.collection('women')
.snapshots()
.map((snapshot) => snapshot.docs
.map((document) => CategoryAvatar.fromJson({...document.data()}))
.toList())
.listen((avatar) {
avatarsInfo.addAll(avatar);
当我开始调试时,在上面显示的代码第三行的IDE中发生了此异常:发生异常。
NoSuchMethodError(NoSuchMethodError:方法'add'在null上调用。
接收者:null
尝试调用:add('MethodChannelQuerySnapshot'的实例))
同样在调试时,由于某些奇怪的原因,调试器总是会通过第五行和第六行,我的意思是程序无法执行这些行。
当我运行代码时,以下文本显示在调试控制台上
D / HwCustConnectivityManagerImpl(8132):isBlockNetworkRequestByNonAis,INVALID_SUBSCRIPTION_ID
D / ConnectivityManager(8132):requestNetwork,调用的应用程序是:com.sincerity.sandra
W / DynamiteModule(8132):找不到providerinstaller的本地模块描述符类。
I / DynamiteModule(8132):考虑本地模块providerinstaller:0和远程模块providerinstaller:0
W / ProviderInstaller(8132):无法加载providerinstaller模块:找不到可接受的模块。本地版本为0,远程版本为0。
D / HwCustConnectivityManagerImpl(8132):isBlockNetworkRequestByNonAis,INVALID_SUBSCRIPTION_ID
最佳答案
通过在查询的开头添加 await 关键字已解决了该问题
await _firebaseFirestore.collection('women').get().then(
(QuerySnapshot querySnapshot) {
querySnapshot.docs.forEach(
(doc) {
avatarsInfo.add(
CategoryAvatar.fromJson(
{
...doc.data(),
},
),
);
},
);
},
);
关于firebase - flutter中没有这样的方法,对null调用了方法add,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63701434/