我在循环中发出多个请求时遇到问题。
我正在制作一个反应应用程序,它呈现多个名为 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 是我从父组件获取的数组。所以显然是有效的,因为我得到了结果,但山雀总是与最后一张卡片的最后一个元素在一起。这是一张图片:
我正在用 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 文件中添加回复“按钮”。请帮助告诉我我可以做哪些更改来制作带有回复的简单评论框。非常感谢
我有第二个旋转木马随着点击和拖动移动...但我想显示箭头让用户知道这是一个滑块...有没有办法用materialize显示它?或者我必须从另一种方式制作它?
我想知道如何避免这段代码的厄运金字塔:
原码
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) axios ×1
comments ×1
css ×1
django ×1
ecmascript-6 ×1
es6-promise ×1
frameworks ×1
html ×1
javascript ×1
materialize ×1
python ×1
reactjs ×1
request ×1