Передача location.reload
в качестве аргумента работает более или менее так же, как и его переназначение.Если вы переназначаете метод объекта, и он не привязан, то this
этого объекта станет объектом, которому он назначен.Например:
const notlocation = {};
notlocation.reload = location.reload();
notlocation.reload(); // illegal invocation
Вам необходимо вызвать reload
из объекта location
.Есть несколько способов сделать это.Один из них заключается в том, чтобы иметь круглые скобки с явным вызовом метода, как вы это сделали:
$http.post("anyCtrl").then(() => location.reload());
Другой - использовать .bind
и привязать его к объекту, для которого вы хотите вызвать метод:
$http.post("anyCtrl").then(location.reload.bind(location));