-1
我需要在每次迭代腳本時寫入狀態信息。如何正確地做到這一點?React.js:爲什麼狀態是未定義的?
getPageLink(i) {
if(i > 0){
console.log(this.state.res) // aaa
new Promise((resolve, reject) => {
request(this.props.catalogLinks[i], function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
$('.post__title_link').each(function (i, element) {
console.log(this.state.res) // undefined
});
resolve("result");
} else {
console.log('sss', this.state.res) // undefined
reject("result");
}
});
}).then(
result => {
this.getPageLink(--i)
},
error => {
this.getPageLink(--i)
}
);
}
}
現在在控制檯:
aaa
bundle.js:53444 Uncaught TypeError: Cannot read property 'res' of undefined
如何修正這個錯誤?
這是一個不好的模式。處理嵌套作用域的正確方法是使用胖箭頭函數。 –