Javascript 使用此关键字调用函数时获取TypeError
我想用这个关键字调用一个文件中的函数,但是我得到了一个TypeError。 以下是我在一个文件中的部分代码:Javascript 使用此关键字调用函数时获取TypeError,javascript,node.js,Javascript,Node.js,我想用这个关键字调用一个文件中的函数,但是我得到了一个TypeError。 以下是我在一个文件中的部分代码: router.get('/products',函数(req,res){ 试一试{ 设page=req.query.page | | 1; 让products=Product.paginate({},{page,sort:{createdAt:1},limit:12,populate:[{path:'categories'},{path:'user'}]}); res.json({ 数据
router.get('/products',函数(req,res){
试一试{
设page=req.query.page | | 1;
让products=Product.paginate({},{page,sort:{createdAt:1},limit:12,populate:[{path:'categories'},{path:'user'}]});
res.json({
数据:此.filterProductsData(产品),
状态:“成功”
})
}捕捉(错误){
失败(err.message,res);
}
})
内置Express中间件功能。没有理由将失败
称为此。失败
如果在该中间件功能的范围内可用,则应将其称为失败
:
...
} catch (err) {
failed(err.message, res);
}
...
哦我删除了“this”关键字,一切正常。但我不明白为什么。我们为什么不在这里使用“this”关键字?它如何理解我们指的是继续编码的函数?我们应该在什么地方使用“this”关键字,在哪里不应该使用?一个更好的问题是为什么我们要在这里使用
this.failed
。我看不出有什么理由。随机使用这个
不会有任何好处<代码>此可以是动态上下文(在这里),也可以是词法上下文并从父上下文继承(如果函数是此处的箭头函数,此
将是一个全局
或未定义)。我建议从基础开始。它如何理解我们指的是继续编码的函数因为失败
在此功能范围内可用。您定义了它,它是可用的。