const api = () => {
fs.readFile(fileName, (err, content) => {
if (err) {
// api должно вернуть строку "none"
} else {
// api должно вернуть content
}
})
return // либо "none", либо content
}
И где здесь возвращается строка "none" в случае неудачи?
Используй await и получай результат функции в переменную.
Как написать это с помощью промисов и async/await, я знаю. А как написать это без промисов, с обычным коллбэком?
А как написать это без промисов, с обычным коллбэком?
... с обычным коллбэком?
const api = () => {
const data = fs.readFileSync(fileName);
return data??'none';
}Как написать это с помощью промисов и async/await, я знаю
а что с ними так, что ты не понимаешь работу колбеков?
А как написать это без промисов, с обычным коллбэком?
перестаньте пудрить нам мозги)
Когда я писал про обычный коллбэк, я имел в виду коллбэк внутри fs.readFile
ничего не понял, если честно. callback у вас — это функция? Она определена за пределами api? И где здесь возвращается строка "none" в случае неудачи?
Как написать это с помощью промисов и async/await, я знаю. А как написать это без промисов, с обычным коллбэком? До изобретения промисов как-то ведь писали такое...у api тоже может быть колбэк, который можно вызвать когда будет готов результат операции
const api = (cb) => {
fs.readFile(fileName, (err, content) => {
if (err) {
cb("none")
} else {
cb(content)
}
})
// return не нужен
}