【发布时间】:2021-12-15 22:46:16
【问题描述】:
我正在开发 Flutter 应用程序,该应用程序将 php apis 用于服务器,将 sqlite 用于本地数据。 问题在于“计算()”。 这是解释:
我有三个函数从服务器上的 api 接收数据,然后将数据添加到我的本地数据库 (sqlite) 表中。
第一个从服务器获取数据的函数。
Future<List<Map<String, dynamic>>> getServerData(int vers)async {
//my code
}
将数据插入本地数据库的第二个函数:
Future<int> addNewData(List<Map<String, dynamic>>)async {
//my code
}
第三个函数调用第一个和第二个函数:
Future<bool> checkServerData(int vers)async {
List<Map<String, dynamic>> sdt= await getServerData(vers);
int res=await addNewData(sdt);
if(res>0) return true;
else return false;
}
我想调用计算函数中的第三个函数:
compute(checkServerData, 2);
我什么时候发现这个错误的: 用于空值的空检查运算符。
注意*: 如果我在不调用本地数据库的情况下使用它,它会很好用。 如果我调用数据库向其中插入数据,则会出现错误。
当我搜索这个问题时,我发现它不允许从另一个线程访问在一个线程中生成的任何资源。但我不明白如何解决它或如何使用另一种方法来实现相同的想法。
【问题讨论】:
-
我想做同样的工作,但使用 Java。怎么样?
标签: flutter dart sqflite dart-isolates null-check