Skip to content

Commit 2f36957

Browse files
committed
ensure a response callback sends only one response even if called multiple times
1 parent 12338ed commit 2f36957

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

WebViewJavascriptBridge/WebViewJavascriptBridge.m

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,10 @@ - (void)_flushMessageQueue {
136136
WVJBResponseCallback responseCallback = NULL;
137137
__block NSString* callbackId = [message objectForKey:@"callbackId"];
138138
if (callbackId) {
139+
__block bool wasCalled = false;
139140
responseCallback = ^(id responseData) {
141+
if (wasCalled) { return; }
142+
wasCalled = true;
140143
NSDictionary* message = [NSDictionary dictionaryWithObjectsAndKeys: callbackId, @"responseId", responseData, @"responseData", nil];
141144
[self _queueMessage:message];
142145
};

0 commit comments

Comments
 (0)