Повторять задачу Джейка, используя цикл while в coffeescript?

Я пытаюсь выполнить задачу 10 раз в Джейк:

task 'default', (page) ->
    page = process.env.page
    running = 0
    while running < 10
        ex = jake.createExec(["casperjs test.coffee --page=#{page}"],
            printStdout: true
        )
        ex.run()
        running++
        page++

это запустит тест 10 раз. что деос хорошо. однако я хочу, чтобы он работал по порядку, например сначала страница1, затем страница2, затем страница3 и т. д., так что первая страница 1 должна завершиться, прежде чем появится страница2. в данный момент он запускает их параллельно или асинхронно. Спасибо за вашу помощь.

1 ответ

Решение

Я использую библиотеку Async для такого рода вещей. Что-то вроде:

async = require 'async'
pages = for i in [0...10]
  do ->
    j = i
    -> 
      ex = jake.createExec ["casperjs test.coffee --page=#{j}"],
        printStdout: true
      ex.run()
async.series pages

Однако я немного удивляюсь, почему они нужны для последовательной работы.

Другие вопросы по тегам