【发布时间】:2020-06-12 17:29:17
【问题描述】:
当 catch 函数返回错误时,我想重新启动我的代码。
let ig = require('instagram-scraping')
module.exports.instagram = async (req, res) => {
ig.scrapeTag('postthisonmypersonalblogtoo').then(async result => {
let myPostCodes = [];
result.medias.forEach(content => {
if(content.owner_id == '10601516006'){
myPostCodes.push(content.shortcode);
}
})
await res.render('instagram', {
myPosts : myPostCodes
});
}).catch((err) => {
console.error(err);
// if(err){
//ig.scrapeTag('postthisonmypersonalblogtoo').then(async result => { ... } //do same things as above
}
})
}
我想这样做的原因:有时 ig.scrapeTag 方法会找到我的帖子,但有时找不到任何东西并返回给我;
Error: Error scraping tag page "postthisonmypersonalblogtoo"
at Request._callback (C:\Users\Byte\Desktop\BLOG\node_modules\instagram-scraping\index.js:114:24)
at Request.self.callback (C:\Users\Byte\Desktop\BLOG\node_modules\request\request.js:185:22)
所以当我遇到这个错误时,我想重新设置 ig.scrapeTag 以再次研究我在 instagram 上的帖子
(顺便说一句,对不起我的英语不好,如果你们对另一个 instagram api 有建议,请告诉我(api 可以是官方的或非官方的都无所谓)
【问题讨论】:
-
再次递归调用
module.exports.instagram函数(但有递归深度限制) -
我在 InstagramRoute.js 中给出这样的响应 -> router.get('/', InstagramController.instagram);当 InstagramController.instagram 返回错误时,我怎么知道?
标签: javascript node.js api instagram