Показать сообщение отдельно
Старый 28.10.2019, 10:04   #22
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
Вес репутации: 344
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от IStiv Посмотреть сообщение
всем привет.
A синхронные функции не могли же сломаться в БМ 11 или могли?

тестирую на простом случае, всякие fs.writeFileSync() все вроде норм, но на реальном скрипте с большой логикой тот же fs.writeFileSync() не отрабатывает .
Однако если идти отладчиком, пошагово , я так понимаю вызовы "успевают" выполняться и fs.writeFileSync() отрабатывает.

Скрытый текст


PHP код:
var pth = require('path');
var 
fs = require('fs');

checkFileExistsAndWrite("D:\\""test.txt""hi");


function 
checkFileExistsAndWrite(targetDirectoryfileNamestr) {
  var 
absolutNameAndPt pth.join(targetDirectoryfileName);

  var 
isExists fs.existsSync(absolutNameAndPt);
  var 
flVersion 0;

  if (
isExists) {
    
flVersion++;
    
fileName flVersion "_" fileName;
    
checkFileExistsAndWrite(targetDirectoryfileName);
  }
  else {
    
fs.writeFileSync(absolutNameAndPtstr);
  }

[свернуть]
У меня нормально запустилось, в первый раз создал файл test.txt, во второй 1_test.txt, в третий - 1_1_test.txt.
Одно серьёзное замечание: в рекурсивном вызове функции вы не передаёте строку записи, поэтому во всех файлах кроме test.txt пишется undefined.

З.Ы. Перечитал ещё раз сообщение - у вас приведённый скрипт тоже нормально отрабатывает, и только на "боевом" скрипте нет?
Может объём данных большой?
Попробуйте запустить ваш реальный скрипт , но в файл писать маленькие строки, изменится ли что?
После выполнения скрипта, лог какие-нибудь ошибки выдаёт?
Я так понимаю, в 10 версии всё нормально работает?
Letos вне форума   Ответить с цитированием Вверх