Travis build: 837 [ci skip]
This commit is contained in:
29
README.md
29
README.md
@ -130,6 +130,7 @@
|
||||
* [`chainAsync`](#chainasync)
|
||||
* [`compose`](#compose)
|
||||
* [`curry`](#curry)
|
||||
* [`defer`](#defer)
|
||||
* [`functionName`](#functionname)
|
||||
* [`memoize`](#memoize)
|
||||
* [`runPromisesInSeries`](#runpromisesinseries)
|
||||
@ -2378,6 +2379,34 @@ curry(Math.min, 3)(10)(50)(2); // 2
|
||||
<br>[⬆ Back to top](#table-of-contents)
|
||||
|
||||
|
||||
### defer
|
||||
|
||||
Defers invoking a function until the current call stack has cleared.
|
||||
|
||||
Use `setTimeout()` with a timeout of 1ms to add a new event to the browser event queue and allow the rendering engine to complete its work. Use the spread (`...`) operator to supply the function with an arbitrary number of arguments.
|
||||
|
||||
```js
|
||||
const defer = (fn, ...args) => setTimeout(fn, 1, ...args);
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Examples</summary>
|
||||
|
||||
```js
|
||||
// Example A:
|
||||
defer(console.log, 'a'), console.log('b'); // logs 'b' then 'a'
|
||||
|
||||
// Example B:
|
||||
document.querySelector('#someElement').innerHTML = 'Hello';
|
||||
longRunningFunction(); // the browser will not update the HTML until this has finished
|
||||
defer(longRunningFunction); // the browser will update the HTML then run the function
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<br>[⬆ Back to top](#table-of-contents)
|
||||
|
||||
|
||||
### functionName
|
||||
|
||||
Logs the name of a function.
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user