fix(WebWorker): Don't send messages when the buffer is empty
Closes #4138
This commit is contained in:
committed by
Misko Hevery
parent
1de2d29f96
commit
8485ef9230
@@ -46,8 +46,10 @@ abstract class GenericMessageBusSink implements MessageBusSink {
|
||||
void attachToZone(NgZone zone) {
|
||||
_zone = zone;
|
||||
_zone.overrideOnEventDone(() {
|
||||
sendMessages(_messageBuffer);
|
||||
_messageBuffer.clear();
|
||||
if (_messageBuffer.length > 0) {
|
||||
sendMessages(_messageBuffer);
|
||||
_messageBuffer.clear();
|
||||
}
|
||||
}, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -73,9 +73,10 @@ export class PostMessageBusSink implements MessageBusSink {
|
||||
}
|
||||
|
||||
private _handleOnEventDone() {
|
||||
// TODO: Send all buffered messages in one postMessage call
|
||||
this._sendMessages(this._messageBuffer);
|
||||
this._messageBuffer = [];
|
||||
if (this._messageBuffer.length > 0) {
|
||||
this._sendMessages(this._messageBuffer);
|
||||
this._messageBuffer = [];
|
||||
}
|
||||
}
|
||||
|
||||
private _sendMessages(messages: Array<Object>) { this._postMessageTarget.postMessage(messages); }
|
||||
|
||||
Reference in New Issue
Block a user