@nyooom 60 секунд - по умолчанию, можно изменить в самом действии, там рядом с кнопочкой есть значки.
можно обернуть в ошибку еще.
Смотри уроки на ютюбе.
Правильно ли синхронизировал код node?
-
Подскажите правильно ли я преобразовал код и синхронизировал с bas?
Изначальный вид с синхронным чтением директории:
const fs = require('fs') const dir = 'C://test//' function print(dir) { const result = fs.readdirSync(dir) return result } console.log('result:' + print(dir))Преобразованный код в асинхронное чтение директории и синхронизированный с bas:
const fs = require('fs') const dir = 'C://test//' async function print(dir) { await (new Promise((resolve, reject) => { fs.readdir(dir, function (err, dir) { if (err) { console.log('err') } [[result]] = dir resolve() }) })); return [[result]] } console.log('result:' + await print(dir))чуть дополнил еще одной функции для проверки.По идее в консоль должно быть пусто,ибо фильтр не пройден.Но фильтр не сработал,и вывелось содержание папки. Что то не так..
const fs = require('fs') const dir = 'C://test//' async function print(dir) { await (new Promise((resolve, reject) => { fs.readdir(dir, function (err, dir) { if (err) { console.log('err') } [[result]] = dir.filter(async (a) => (await filterTest(a))) resolve() }) })); return [[result]] } console.log('result:' + await print(dir)) async function filterTest(dir) { return false } -
const fs = require('fs') const dir = 'C://test//' async function print(dir) { return await (new Promise((resolve, reject) => { fs.readdir(dir, function (err, dir) { if (err) { console.log('err') } resolve(dir) }) })); } console.log('result:' + await print(dir))Функция фильтр не работает с асинхронным калбэком, используйте обычный цикл
и у модуля fs, есть вариант на промисахconst fs = require('fs').promises const dir = 'C://test//' async function print(dir) { try { return fs.readdir(dir) } catch (e) { console.log(e) } } console.log('result:' + await print(dir)) -
Спасибо,все работает. Жаль,что стрелочными функциями не воспользоватся,так код компакнее)
-
@markinaras используйте стрелочные функции, кто сказал, что нельзя)