У меня есть приложение для узлов, которое пользователи могут предоставить собственную функцию и в соответствии с некоторым URL-адресом, который пользователь дает, я вызываю эту функцию, проблема в случае ошибки не останавливается, поэтому я хочу как-то получить ошибку в вызывающем абоненте (если есть) в случае прекращения ответа, что записывается в этом случае?Функция Warp снаружи с обработкой ошибок
чтобы сказать, что это функция, пользователь при условии, в случае, если у нас есть файл в каталоге это работает отлично
delete: function (req,res,Path) {
var fileRelPath = 'C://'+ Path;
fs.unlinkSync(Path);
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end("File was deleted");
},
Я призываю к этой функции из другого модуля вызова функции
plugin[fnName](req, res, Path);
В случае, если файл не существует, я получил сообщение об ошибке и процесс вызова не останавливается ... я должен проверить, возможно, как-то после выше вызова код, если был вызван res.end(), если не закончить его явным, если да, то как проверить, закончилось ли это.
Я имею в виду что-то вроде
plugin[fnName](req, res, Path);
if(res.end was not invoked)
res.end("error occurred" )
maybe to provide additional data somehow about the err ..
Спасибо проголосовали! предположим, что я хочу обрабатывать как sync, так и async, как мне это сделать? с обещанием? можете ли вы привести пример? –
@JhonDree - оберните метод в обещание и используйте 'co-express', чтобы в основном повернуть маршрут в генератор. –
@ SwarajGiri- Спасибо, можете ли вы представить пример, пожалуйста, как это сделать? –