mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-03-26 07:04:05 +08:00
Added throttling on requests made by RCTImageLoader
Reviewed By: javache Differential Revision: D2938143 fb-gh-sync-id: bac1185d4792dcca0012905126c9ef2aa45905d5 shipit-source-id: bac1185d4792dcca0012905126c9ef2aa45905d5
This commit is contained in:
committed by
facebook-github-bot-4
parent
07a5f4407f
commit
0427c3d273
@@ -33,6 +33,7 @@
|
||||
_request = request;
|
||||
_handler = handler;
|
||||
_completionBlock = completionBlock;
|
||||
_status = RCTNetworkTaskPending;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -55,6 +56,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
||||
if ([self validateRequestToken:[_handler sendRequest:_request
|
||||
withDelegate:self]]) {
|
||||
_selfReference = self;
|
||||
_status = RCTNetworkTaskInProgress;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,6 +68,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
||||
[_handler cancelRequest:strongToken];
|
||||
}
|
||||
[self invalidate];
|
||||
_status = RCTNetworkTaskFinished;
|
||||
}
|
||||
|
||||
- (BOOL)validateRequestToken:(id)requestToken
|
||||
@@ -83,8 +86,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
||||
if (_completionBlock) {
|
||||
_completionBlock(_response, _data, [NSError errorWithDomain:RCTErrorDomain code:0
|
||||
userInfo:@{NSLocalizedDescriptionKey: @"Unrecognized request token."}]);
|
||||
[self invalidate];
|
||||
}
|
||||
[self invalidate];
|
||||
_status = RCTNetworkTaskFinished;
|
||||
return NO;
|
||||
}
|
||||
return YES;
|
||||
@@ -130,8 +134,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
||||
if ([self validateRequestToken:requestToken]) {
|
||||
if (_completionBlock) {
|
||||
_completionBlock(_response, _data, error);
|
||||
[self invalidate];
|
||||
}
|
||||
[self invalidate];
|
||||
_status = RCTNetworkTaskFinished;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user