Rename ReactUpdates.setImmediate to 'asap'
Per https://github.com/facebook/react/pull/1554#issuecomment-57243842. Test Plan: jest
Ben Alpert committed
Sep 29, 2014 at 17:37 UTC
a8fff939719886394027d1014cb69596f4bcb96f
5 files changed
+35
-35
src/browser/ui/dom/components/ReactDOMInput.js
+3
-3
@@ -125,10 +125,10 @@ var ReactDOMInput = ReactCompositeComponent.createClass({
125
if (onChange) {
126
returnValue = onChange.call(this, event);
127
}
128
- // Here we use setImmediate to wait until all updates have propagated, which
128
+ // Here we use asap to wait until all updates have propagated, which
129
// is important when using controlled components within layers:
130
// https://github.com/facebook/react/issues/1698
131
- ReactUpdates.setImmediate(forceUpdateIfMounted, this);
131
+ ReactUpdates.asap(forceUpdateIfMounted, this);
132
133
var name = this.props.name;
134
if (this.props.type === 'radio' && name != null) {
@@ -169,7 +169,7 @@ var ReactDOMInput = ReactCompositeComponent.createClass({
169
// If this is a controlled radio button group, forcing the input that
170
// was previously checked to update will cause it to be come re-checked
171
// as appropriate.
172
- ReactUpdates.setImmediate(forceUpdateIfMounted, otherInstance);
172
+ ReactUpdates.asap(forceUpdateIfMounted, otherInstance);
173
}
174
}
175
src/browser/ui/dom/components/ReactDOMSelect.js
+1
-1
@@ -180,7 +180,7 @@ var ReactDOMSelect = ReactCompositeComponent.createClass({
180
}
181
182
this._pendingValue = selectedValue;
183
- ReactUpdates.setImmediate(updateWithPendingValueIfMounted, this);
183
+ ReactUpdates.asap(updateWithPendingValueIfMounted, this);
184
return returnValue;
185
}
186
src/browser/ui/dom/components/ReactDOMTextarea.js
+1
-1
@@ -135,7 +135,7 @@ var ReactDOMTextarea = ReactCompositeComponent.createClass({
135
if (onChange) {
136
returnValue = onChange.call(this, event);
137
}
138
- ReactUpdates.setImmediate(forceUpdateIfMounted, this);
138
+ ReactUpdates.asap(forceUpdateIfMounted, this);
139
return returnValue;
140
}
141
src/core/ReactUpdates.js
+14
-14
@@ -29,8 +29,8 @@ var mixInto = require('mixInto');
29
var warning = require('warning');
30
31
var dirtyComponents = [];
32
-var setImmediateCallbackQueue = CallbackQueue.getPooled();
33
-var setImmediateEnqueued = false;
32
+var asapCallbackQueue = CallbackQueue.getPooled();
33
+var asapEnqueued = false;
34
35
var batchingStrategy = null;
36
@@ -172,18 +172,18 @@ var flushBatchedUpdates = ReactPerf.measure(
172
// ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents
173
// array and perform any updates enqueued by mount-ready handlers (i.e.,
174
// componentDidUpdate) but we need to check here too in order to catch
175
- // updates enqueued by setState callbacks and setImmediate calls.
176
- while (dirtyComponents.length || setImmediateEnqueued) {
175
+ // updates enqueued by setState callbacks and asap calls.
176
+ while (dirtyComponents.length || asapEnqueued) {
177
if (dirtyComponents.length) {
178
var transaction = ReactUpdatesFlushTransaction.getPooled();
179
transaction.perform(runBatchedUpdates, null, transaction);
180
ReactUpdatesFlushTransaction.release(transaction);
181
}
182
183
- if (setImmediateEnqueued) {
184
- setImmediateEnqueued = false;
185
- var queue = setImmediateCallbackQueue;
186
- setImmediateCallbackQueue = CallbackQueue.getPooled();
183
+ if (asapEnqueued) {
184
+ asapEnqueued = false;
185
+ var queue = asapCallbackQueue;
186
+ asapCallbackQueue = CallbackQueue.getPooled();
187
queue.notifyAll();
188
CallbackQueue.release(queue);
189
}
@@ -237,14 +237,14 @@ function enqueueUpdate(component, callback) {
237
* Enqueue a callback to be run at the end of the current batching cycle. Throws
238
* if no updates are currently being performed.
239
*/
240
-function setImmediate(callback, context) {
240
+function asap(callback, context) {
241
invariant(
242
batchingStrategy.isBatchingUpdates,
243
- 'ReactUpdates.setImmediate: Can\'t enqueue an immediate callback in a ' +
244
- 'context where updates are not being batched.'
243
+ 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' +
244
+ 'updates are not being batched.'
245
);
246
- setImmediateCallbackQueue.enqueue(callback, context);
247
- setImmediateEnqueued = true;
246
+ asapCallbackQueue.enqueue(callback, context);
247
+ asapEnqueued = true;
248
}
249
250
var ReactUpdatesInjection = {
@@ -286,7 +286,7 @@ var ReactUpdates = {
286
enqueueUpdate: enqueueUpdate,
287
flushBatchedUpdates: flushBatchedUpdates,
288
injection: ReactUpdatesInjection,
289
- setImmediate: setImmediate
289
+ asap: asap
290
};
291
292
module.exports = ReactUpdates;
src/core/__tests__/ReactUpdates-test.js
+16
-16
@@ -749,7 +749,7 @@ describe('ReactUpdates', function() {
749
expect(callbackCount).toBe(1);
750
});
751
752
- it('calls setImmediate callbacks properly', function() {
752
+ it('calls asap callbacks properly', function() {
753
var callbackCount = 0;
754
var A = React.createClass({
755
render: function() {
@@ -757,10 +757,10 @@ describe('ReactUpdates', function() {
757
},
758
componentDidUpdate: function() {
759
var component = this;
760
- ReactUpdates.setImmediate(function() {
760
+ ReactUpdates.asap(function() {
761
expect(this).toBe(component);
762
callbackCount++;
763
- ReactUpdates.setImmediate(function() {
763
+ ReactUpdates.asap(function() {
764
callbackCount++;
765
});
766
expect(callbackCount).toBe(1);
@@ -775,7 +775,7 @@ describe('ReactUpdates', function() {
775
expect(callbackCount).toBe(2);
776
});
777
778
- it('calls setImmediate callbacks with queued updates', function() {
778
+ it('calls asap callbacks with queued updates', function() {
779
var log = [];
780
var A = React.createClass({
781
getInitialState: () => ({updates: 0}),
@@ -785,18 +785,18 @@ describe('ReactUpdates', function() {
785
},
786
componentDidUpdate: function() {
787
if (this.state.updates === 1) {
788
- ReactUpdates.setImmediate(function() {
788
+ ReactUpdates.asap(function() {
789
this.setState({updates: 2}, function() {
790
- ReactUpdates.setImmediate(function() {
791
- log.push('setImmediate-1.2');
790
+ ReactUpdates.asap(function() {
791
+ log.push('asap-1.2');
792
});
793
log.push('setState-cb');
794
});
795
- log.push('setImmediate-1.1');
795
+ log.push('asap-1.1');
796
}, this);
797
} else if (this.state.updates === 2) {
798
- ReactUpdates.setImmediate(function() {
799
- log.push('setImmediate-2');
798
+ ReactUpdates.asap(function() {
799
+ log.push('asap-2');
800
});
801
}
802
log.push('didUpdate-' + this.state.updates);
@@ -811,16 +811,16 @@ describe('ReactUpdates', function() {
811
// We do the first update...
812
'render-1',
813
'didUpdate-1',
814
- // ...which calls a setImmediate and enqueues a second update...
815
- 'setImmediate-1.1',
816
- // ...which runs and enqueues the setImmediate-2 log in its didUpdate...
814
+ // ...which calls asap and enqueues a second update...
815
+ 'asap-1.1',
816
+ // ...which runs and enqueues the asap-2 log in its didUpdate...
817
'render-2',
818
'didUpdate-2',
819
// ...and runs the setState callback, which enqueues the log for
820
- // setImmediate-1.2.
820
+ // asap-1.2.
821
'setState-cb',
822
- 'setImmediate-2',
823
- 'setImmediate-1.2'
822
+ 'asap-2',
823
+ 'asap-1.2'
824
]);
825
});
826
});