У моего приложения есть конечные точки API, для которых один из них предназначен для удаления. Уникальный data-id
передается параметром /feeds/:feedID
, который обращается к классу Controller, предоставляя значение параметра переменной «Операционный класс» feedID
. Проблема: переменная feedID
становится undefined
внутри horseman
экземпляра. Коды:Переменная внутри оценки узла-всадника не определена
Контроллер: Выполняется при доступе к конечной точке. Она захватывает значение параметра и сохраняет в переменном классе Операции для дальнейшего использования
* destroy(request, response) {
const googleAlertsOperation = new GoogleAlertsOperation()
googleAlertsOperation.feedID = request.param('feedID')
...
Операции: с новым значением feedID
, он должен приступить к его исполнению
* deleteRSSFeed() {
var feedID = this.feedID //<-- Has the value passed from the Controller
return new Promise((resolve, reject) => {
horseman
.userAgent(this.userAgent)
.open('https://google.com/alerts')
.evaluate(function() {
try {
return '#manage-alerts-div li[data-id="' + feedID + '"]' //<-- Undefined
} catch(e) {
reject(e)
}
}).then(function(data) {
console.log(data)
})
.close()
}).catch((err) => {
this.addError(HTTPResponse.STATUS_INTERNAL_SERVER_ERROR, reject(err))
return false
})
}
Я пробовал без создавая новую Promise, но такую же проблему. Вместо передачи переменной feedID
, созданной в верхней части, прохождение this.feedID
также включает undefined
.
Это проклятие ?? !!!! –
Это так. По крайней мере, я выяснил этот вопрос, нужно было задать новый вопрос, более конкретный. Извиняюсь. – mfgabriel92
Я чувствую, что ты брат! Иногда код просто хочет сделать ваши волосы серыми! –