小编Dei*_*bid的帖子

在循环中使用 axios 发出多个 get 请求的最佳方法是什么?

我在循环中发出多个请求时遇到问题。

我正在制作一个反应应用程序,它呈现多个名为 Cards 的组件。在每张卡片内我想提出一些要求,所以我得到了这个。

componentWillMount(){
    if(this.props.movies){ 
        let promises = []
        this.props.movies.forEach((item, i) => {
            console.log(item)
            let movieUrl = `http://localhost:3000/movies/${item}`
            promises.push(axios.get(movieUrl))
        })

        axios.all(promises).then(res => console.log(res))
    }
}
Run Code Online (Sandbox Code Playgroud)

Movies 是我从父组件获取的数组。所以显然是有效的,因为我得到了结果,但山雀总是与最后一张卡片的最后一个元素在一起。这是一张图片:

看,即使项目正在改变(那些 tt....)我总是得到最后的回应,我该怎么办?

request reactjs axios

6
推荐指数
1
解决办法
2104
查看次数

如何在 Django 中添加对评论的回复?

我正在用 Django 制作我自己的博客,并且我已经制作了一个评论系统。注释:

class Comment(models.Model):
    post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments')
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    text = models.TextField()
    created_date = models.DateField(auto_now_add=True)
    parent = models.ForeignKey('self', null=True, related_name='replies')

    def __str__(self):
        return self.text
Run Code Online (Sandbox Code Playgroud)

这是我使用评论的 .html

  {% for comment in post.comments.all %}
 <ul>
  {{ comment.text }}
  {% for reply in comment.replies.all %}
      <li>
          {{ reply.text }}
      </li>
  {% endfor %}
 <ul>
 {% endfor %}
Run Code Online (Sandbox Code Playgroud)

显然它正在工作,但是当我尝试在 Django 的管理站点中发表评论时,它迫使我为每个评论添加一个“父级”(这不是强制性的,因为并非每个评论都是回复)我也没有知道如何在 HTML 文件中添加回复“按钮”。请帮助告诉我我可以做哪些更改来制作带有回复的简单评论框。非常感谢

html python django comments

5
推荐指数
2
解决办法
1万
查看次数

如何将prev和下一个箭头放入物化转盘中?

我有第二个旋转木马随着点击和拖动移动...但我想显示箭头让用户知道这是一个滑块...有没有办法用materialize显示它?或者我必须从另一种方式制作它?

css frameworks materialize

3
推荐指数
1
解决办法
8157
查看次数

如何用 async/await 解决厄运金字塔?

我想知道如何避免这段代码的厄运金字塔:

原码

var PlayerService = {
    getPlayerTeamId: function(playerId, callback) {
        $.ajax({
            url: "/player/" + playerId + "/team",
            success: function(team) {
                callback(team.id)
            }
        });
    },
    getPlayers: function(teamId, callback) {
        $.ajax({
            url: "/team/" + teamId + "/player",
            success: callback
        });
    }
};

var PlayerDetailsController = {
    playerId: 8,
    showTeammatesClick: function() {
        PlayerService.getPlayerTeamId(this.playerId, function(teamId) {
            PlayerService.getPlayers(teamId, function(playerList) {
                // Render playerList
            });
        });
    }
};
Run Code Online (Sandbox Code Playgroud)

这是我的 async/await 版本,以避免出现金字塔: 我的版本

var PlayerService = {
    getPlayerTeamId: async function(playerId, callback) {
        return await $.ajax({
                   url: "/player/" …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 es6-promise

2
推荐指数
1
解决办法
666
查看次数