Greasy Fork is available in English.

Task_Array_Util

//https://stackoverflow.com/questions/15504921/asynchronous-loop-of-jquery-deferreds-promises?answertab=votes#tab-top

2020/06/01のページです。最新版はこちら。

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greatest.deepsurf.us/scripts/404464/811280/Task_Array_Util.js

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
  1. //slightly modified from
  2. //https://stackoverflow.com/questions/15504921/asynchronous-loop-of-jquery-deferreds-promises?answertab=votes#tab-top
  3.  
  4. /*
  5. TODO Description
  6. */
  7.  
  8. var time = Math.floor(Math.random() * 3000);
  9.  
  10. function doTask(taskNum, next, args) {
  11. log("doTask Enter");
  12. setTimeout(function () {
  13. taskNum(args);
  14. next();
  15. }, time)
  16. }
  17.  
  18. function createTask(taskNum, args){
  19. log("createTask Enter");
  20. return function(next){
  21. doTask(taskNum, next, args);
  22. }
  23. }
  24.  
  25. function queueTask(tasks, args) {
  26. log("queueTask Enter!");
  27. log("tasks | " + tasks);
  28. log("args | " + args);
  29. //tasks is an array of functions
  30. for (var i = 0; i < tasks.length; i++) {
  31. log("queueTask i " + i);
  32. $(document).queue('tasks', createTask(tasks[i], args[i]));
  33. }
  34.  
  35. $(document).queue('tasks', function () {
  36. log("All tasks dequeued");
  37. });
  38. dequeueTask();
  39. }
  40.  
  41. function dequeueTask() {
  42. log("dequeueTask Enter");
  43. $(document).dequeue('tasks');
  44. }