Добрый день, пожалуйста, у меня возникла следующая ошибка в моем коде в строке 8 на const uri = ... Похоже, что uri const, объявленный в строке 8, выдает ошибку, но я не могу понять, что это такое .
(node:11524) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'uri' of undefined
Я включил приведенный ниже код. Ваш ответ будет оценен.
ПОЛНЫЙ КОД
class URIGenerator {
getURI(controllerAction, params, id) {
const caArray = controllerAction.split('_');
const routeData = RoutesCollection[caArray[0]][caArray[1]];
const uri = params ? this._bindParams(routeData.uri, params) : routeData.uri; //line 8
return {
id: id || routeData.action,
method: routeData.method,
uri,
};
}
_bindParams(uri, params) {
let match;
let replacement;
let uriParam = uri;
const replacedParams = [];
while (match = /:([\w_]+)\??/ig.exec(uriParam)) {
replacement = params[match[1]].toString() || '';
if (replacement === '') {
uriParam = uriParam.replace(`/${match[0]}`, '');
} else {
uriParam = uriParam.replace(match[0], replacement);
replacedParams.push(match[1]);
}
}
const paramsForQueryString = {};
Object.keys(params).forEach((p) => {
if (!replacedParams.includes(p)) {
paramsForQueryString[p] = params[p];
}
});
if (Object.keys(paramsForQueryString).length > 0) {
uriParam = `${uriParam}?${queryString.stringify(paramsForQueryString)}`;
}
return uriParam;
}
}
module.exports = URIGenerator;