моя проблема в том, что я хочу, чтобы время обработки было вне функции fs-stat. Как мне этого добиться? С асинхронностью это не работает, или как бы вы это сделали?
var time;
time = fs.stat(path, function(err, stats){
timestamp = stats.mtimeMs;
console.info(timestamp); // 65463453
return timestamp;
});
Как я могу получить результат от «функции (ошибка, статистика)» «fs-stat» в переменной «время»?
@SayedTauseefHaiderNaqvi Я хочу использовать это значение в функции, которая находится снаружи, и как я могу дать на это обещание?
показать вам код функции от вас использовать это значение
удалите свой комментарий из ответов и обновите свой вопрос, чтобы другие люди также поняли вопрос
См. stackoverflow.com/questions/14220321/…





@SayedTauseefHaiderNaqvi
Это полный код:
function getTime(path) {
var fs = require('fs');
var time;
time = fs.stat(path, function(err, stats){
timestamp = stats.mtimeMs;
console.info(timestamp); //65463453
return timestamp;
});
console.info(time); //undefined
return time;
}
Вы можете написать такой код и вызвать функцию getTime с обещанием, и вы получите значение.
var fs = require('fs');
function getTime(path) {
return new Promise(function (resolve, reject) {
fs.stat(path, function (err, stats) {
if (err) {
return reject(err)
}
return resolve(stats.mtimeMs);
});
})
}
функция вызова, как это
getTime('./').then(function (timestamp) {
console.info(timestamp)
})
я проверял это, но этот код не работает =( когда я выдаю его, появляется "undefined"
@gegner1111 исправлено
@SayedTauseefHaiderNaqvi следующая проблема ... как вы мне показали, время доступно только в блоке «тогда». Есть ли способ использовать время вне этого блока?
@ gegner1111 gegner1111 Не могли бы вы поделиться своим кодом, где вы хотите использовать это значение, чтобы я мог лучше понять ваше использование.
@SayedTauseefHaiderNaqvi, я исправил это. Спасибо в любом случае!
где вы хотите использовать это значение? Лучший способ использовать это, вы можете создать обещание, а затем вызвать из любой функции.