lastRun()#

Извлекает время последнего успешного завершения задачи во время текущего запущенного процесса. Наиболее полезно при последующих запусках задач во время работы наблюдателя.

В сочетании с src(), включает инкрементные сборки для ускорения времени выполнения, пропуская файлы, которые не изменились с момента последнего успешного завершения задачи.

Применение#

const { src, dest, lastRun, watch } = require('gulp');
const imagemin = require('gulp-imagemin');
function images() {
return src('src/images/**/*.jpg', { since: lastRun(images) })
.pipe(imagemin())
.pipe(dest('build/img/'));
}
exports.default = function() {
watch('src/images/**/*.jpg', images);
};

Подпись#

lastRun(task, [precision])

Параметры#

параметртиппримечание
task
(required)
function
string
Функция задачи или строковый псевдоним зарегистрированной задачи.
precisionnumberПо умолчанию: 1000 на Node v0.10, 0 на Node v0.12+. Подробно в разделе Точность отметки времени ниже.

Возвращается#

Отметка времени (в миллисекундах), соответствующая времени последнего завершения задачи. Если задача не была запущена или завершилась неудачно, возвращает undefined.

Чтобы избежать кэширования недопустимого состояния, возвращаемое значение будет undefined, если в задаче возникнет ошибка.

Ошибки#

При вызове со значением, отличным от строки или функции, выдает ошибку с сообщением: "Only functions can check lastRun".

При вызове нерасширяемой функции и отсутствии Node WeakMap выдает ошибку с сообщением: "Only extensible functions can check lastRun".

Точность временной метки#

Хотя существуют разумные значения по умолчанию для точности временных меток, их можно округлить с помощью параметра precision. Полезно, если ваша файловая система или версия Node имеют точность с потерями в атрибутах времени файла.

  • lastRun(someTask) вернет 1426000001111
  • lastRun(someTask, 100) вернет 1426000001100
  • lastRun(someTask, 1000) вернет 1426000001000

Точность файла mtime stat может варьироваться в зависимости от версии узла и/или используемой файловой системы.

платформаточность
Node v0.101000ms
Node v0.12+1ms
Файловая система FAT322000ms
Файловые системы HFS+ или Ext31000ms
NTFS с использованием Node v0.101s
NTFS с использованием Node 0.12+100ms
Ext4 с использованием Node v0.101000ms
Ext4 с использованием Node 0.12+1ms