@samitouri / QOS-React-2 / commits / a8fff93971

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 });