Guest User

Untitled

a guest
Jan 17th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. function bulk_upload(files, callback) {
  2. for (file in files) {
  3. sync_upload(file); // blocks till file uploads
  4. }
  5. print('Done uploading files');
  6. callback();
  7. }
  8.  
  9. function bulk_upload(files, callback) {
  10. if (files.length == 0) {
  11. print('Done uploading files');
  12. callback();
  13. } else {
  14. async_upload(files.removeLast(), function() { bulk_upload(files, callback); });
  15. }
  16. }
  17.  
  18. function bulk_upload(files, callback) {
  19. uploads = 0
  20. for(file in files) {
  21. async_upload(file, function() { uploads++; });
  22. }
  23. while(uploads < files.length) ; // Empty spin - this is stupid
  24. print('Done uploading files');
  25. callback();
  26. }
  27.  
  28. function bulk_upload(files, callback) {
  29. uploads = 0
  30. for(file in files) {
  31. async_upload(file, function() {
  32. if (++uploads == files.length) { // this becomes uglier as I want to await on more stuff
  33. print('Done uploading files');
  34. callback();
  35. };
  36. });
  37. }
  38. }
  39.  
  40. function bulk_upload(files, callback) {
  41. async.forEach(files, async_upload(file, callback), function (err) {
  42. if (err) {
  43. console.error('Failed: %s', err);
  44. } else {
  45. console.log('Done uploading files');
  46. }
  47. callback(err);
  48. });
  49. }
  50.  
  51. function aync_upload_promise(file) {
  52. // create a promise.
  53. var promise = Futures.promise();
  54. async_upload( file, function(err, data) {
  55. if (err) {
  56. // break it
  57. promise.smash(err);
  58. } else {
  59. // fulfill it
  60. promise.fulfill(data);
  61. }
  62. });
  63. return promise;
  64. }
  65.  
  66. var promises = [];
  67. for(var i=0; i<files.length; ++i )
  68. {
  69. promises.push( aync_upload_promise( files[i] ) );
  70. }
  71.  
  72. Futures
  73. .join( promises )
  74. .when( function() {
  75. print('Done uploading files');
  76. callback();
  77. } )
  78. .fail( function(err) { print('Failed :(', err); } )
Add Comment
Please, Sign In to add comment