2015-07-26 2 views
0

Я использую PhantomJS для печати pdf с моей веб-страницы, а затем сохраняю полученный pdf-файл на S3, если PDF-код сгенерирован успешно.PhantomJS Отображение кода выхода 0 даже после сетевой ошибки

Моя проблема заключается в том, что PhantomJS возвращает код выхода 0, т. Е. Успех даже после возникновения сетевой ошибки, и полученный pdf-файл не является тем, который я хочу.

Так что я хочу знать, есть ли способ прервать PhantomJS, когда возникает ошибка с кодом выхода.

В настоящее время ошибка, в которой это происходит, ошибка сети: 101 Но даже если PhantomJS не прервать и вернуться с кодом выхода 0

ответ

0

Единственный раз, когда PhantomJS выходы сама по себе, когда он сталкивается с ошибкой синтаксиса вашего скрипта (PhantomJS 2.0.0 имеет ошибку и просто зависает и ничего не печатает на этом этапе).

Для всего остального вам необходимо позвонить phantom.exit() для выхода. phantom.exit() принимает необязательный аргумент, который является кодом выхода. Поэтому, когда возникает ошибку, например, путем проверки success аргумента page.open() обратного вызова или при onResourceError или onResourceTimeout событий срабатывают, вы можете выйти из PhantomJS с собственной предполагаемой кодой выхода, такими как

phantom.exit(1);