sleepsort.js 759 B

123456789101112131415161718192021222324252627
  1. // sleepsort.js - Sort integers from the commandline in a very ridiculous way: leveraging timeouts :P
  2. "use strict";
  3. var system = require('system');
  4. function sleepSort(array, callback) {
  5. var sortedCount = 0,
  6. i, len;
  7. for ( i = 0, len = array.length; i < len; ++i ) {
  8. setTimeout((function(j){
  9. return function() {
  10. console.log(array[j]);
  11. ++sortedCount;
  12. (len === sortedCount) && callback();
  13. };
  14. }(i)), array[i]);
  15. }
  16. }
  17. if ( system.args.length < 2 ) {
  18. console.log("Usage: phantomjs sleepsort.js PUT YOUR INTEGERS HERE SEPARATED BY SPACES");
  19. phantom.exit(1);
  20. } else {
  21. sleepSort(system.args.slice(1), function() {
  22. phantom.exit();
  23. });
  24. }