gpt4 book ai didi

javascript - 服务或工厂,以及如何使用 $http 到达那里

转载 作者:行者123 更新时间:2023-11-29 18:12:48 24 4
gpt4 key购买 nike

接受 $http 请求到服务和工厂的方法是什么?到目前为止我找到的唯一方法感觉 Controller 中的代码太多了。我觉得服务和/或工厂应该完成所有繁重的工作,并且应该从那里返回数据,但正如以下代码所示,我正在 Controller 内部进行成功调用。

我觉得这不是做事的正确方法,但这是迄今为止我发现的唯一可行方法。

(在我的服务对象内)

this.monsterList = $http.get('data/monsters.json');

(在我的 Controller 内)

monsterService.monsterList.success(function(data) { fight.monsterList = data });

有没有办法在服务(或可能是工厂)内获得完全成功的调用,以便我可以简单地在 Controller 中调用它?

monsterService.monsterList

monsterService.getMonsterList()

最佳答案

有很多方法可以做到这一点,我们可以争论哪些更好,但对于服务,我通常会这样做:

return {
monsterList: [],
fetchMonsters: function () {
return $http.get("data/monsters.json").success(function (data) {
this.monsters = data.monsters;
}.bind(this));
}
}

然后在 Controller 中你可以做

monsterService.fetchMonsters();
// data bind monsterService.monsterList

由于您返回$http,如果需要,您还可以在 Controller 中链接一个.success(或.error)回调。

关于javascript - 服务或工厂,以及如何使用 $http 到达那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25795812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com