내 응용 프로그램에 삭제할 API 끝점이 있습니다. 고유 한 data-id
은 Controller 클래스에 액세스하는 매개 변수 /feeds/:feedID
에 전달되며 param 값에 Operation 클래스의 변수 feedID
을 제공합니다. 문제 : feedID
변수는 인스턴스 내부에 undefined
이됩니다. 코드 :node-horseman evaluate의 변수가 정의되지 않았습니다.
컨트롤러 : 끝점에 액세스 할 때 실행됩니다. 이는 추가 사용
* 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
})
}
의 실행을 진행해야 새로운 약속을 인스턴스화하지만 같은 문제가 발생합니다. 상단에 생성 된 feedID
변수를 전달하는 대신 this.feedID
을 전달하면 undefined
으로 바뀝니다.
저주입니까? !!!! –
입니다. 적어도 나는 새로운 문제를 발견 할 필요가있는이 문제를 발견했다. 사과. – mfgabriel92
형제라고 느낍니다! 때때로 코드는 단지 머리카락을 회색으로 보이기를 원합니다! –