Показать сообщение отдельно
  #6 (permalink)  
Старый 09.11.2015, 10:54
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

Всё-таки получилось сделать. Как обычно, причина не в Ноде, а в прокладке между сиденьем и монитором
var fs = require( 'fs' );
var path = __dirname;
var filesModified = [];
var promise = new Promise( createArrayModified );
promise.then( arrayComplete ).catch( errorHandler );

function createArrayModified( resolve, reject ){

	fs.readdir( path, readFilesModified );

	function readFilesModified( err, files ) {
		var checkArrays;
		if ( err ) console.log( err );
		for ( var i = 0; i < files.length; i++ ) {
			var file = path + '/' + files[i];
			fs.stat( file, function ( err, stats ) {
				filesModified.push( stats.mtime );
			} );
		}
		checkArrays = setInterval( function(){
			if( filesModified.length === files.length ){
				resolve();
				clearInterval( checkArrays );
			}
		} ,100 );
	}
}

function arrayComplete(){
	console.log( filesModified );
}

function errorHandler( err ){
	console.log( err );
}

Последний раз редактировалось Sigizmund2012, 09.11.2015 в 14:10.
Ответить с цитированием