Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. import createDeferred from "./createDeferred";
  2.  
  3. const awaitTimeout = (miliseconds, onTimeout) => {
  4. const deferred = createDeferred();
  5.  
  6. const timeoutId = setTimeout(
  7. () => onTimeout(deferred.fulfill, deferred.reject),
  8. miliseconds
  9. );
  10.  
  11. const createClearer = resolver => value => {
  12. clearTimeout(timeoutId);
  13.  
  14. resolver(value);
  15. };
  16.  
  17. return {
  18. promise: deferred.promise,
  19. reject: createClearer(deferred.reject),
  20. resolve: createClearer(deferred.resolve),
  21. };
  22. };
  23.  
  24. export default awaitTimeout;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement