Fixed logic error on request timing
This commit is contained in:
parent
02dc1a1ecd
commit
c4dae8df8c
@ -5,7 +5,7 @@ import '../dataHolder.dart';
|
|||||||
|
|
||||||
class ChatProps extends DataHolder {
|
class ChatProps extends DataHolder {
|
||||||
String _queryToken = "";
|
String _queryToken = "";
|
||||||
DateTime _lastRequest = DateTime.now();
|
DateTime _lastTokenSet = DateTime.now();
|
||||||
|
|
||||||
GetChatResponse? _getChatResponse;
|
GetChatResponse? _getChatResponse;
|
||||||
GetChatResponse get getChatResponse => _getChatResponse!;
|
GetChatResponse get getChatResponse => _getChatResponse!;
|
||||||
@ -19,14 +19,15 @@ class ChatProps extends DataHolder {
|
|||||||
void run() {
|
void run() {
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
DateTime requestStart = DateTime.now();
|
DateTime requestStart = DateTime.now();
|
||||||
|
|
||||||
GetChatCache(
|
GetChatCache(
|
||||||
chatToken: _queryToken,
|
chatToken: _queryToken,
|
||||||
onUpdate: (GetChatResponse data) {
|
onUpdate: (GetChatResponse data) {
|
||||||
if(!_lastRequest.isBefore(requestStart)) return; // Another request was faster
|
if(_lastTokenSet.isAfter(requestStart)) return; // Another request was faster
|
||||||
_lastRequest = DateTime.now();
|
|
||||||
|
|
||||||
_getChatResponse = data;
|
_getChatResponse = data;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -34,6 +35,7 @@ class ChatProps extends DataHolder {
|
|||||||
void setQueryToken(String token) {
|
void setQueryToken(String token) {
|
||||||
_queryToken = token;
|
_queryToken = token;
|
||||||
_getChatResponse = null;
|
_getChatResponse = null;
|
||||||
|
_lastTokenSet = DateTime.now();
|
||||||
run();
|
run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user