私のアプリケーションには、それらのうちの1つが削除用の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
})
}
その実行を進める必要があります新しいPromiseをインスタンス化しますが、同じ問題です。上部に作成された変数feedID
を渡す代わりに、this.feedID
を渡すとundefined
となります。
これは呪いですか?!!!! –
です。少なくとも私は問題を発見しました。新しい質問をするためには、より具体的なものが必要でした。謝罪。 – mfgabriel92
私はあなたの兄弟を感じる!ときどきコードはちょうどあなたの髪を灰色にしたい! –