我很确定这是一个愚蠢的问题,这就是为什么我找不到答案(或者至少我希望这是一个愚蠢的问题,快速回答)。由于某种原因,setTimeout无法在我的一个Angular 5组件中运行。相关代码如下所示:
onSubmit(...movieData) {
this.movieService.addMovie(movieData)
.subscribe(
movie => {
this.messageService.add("Movie Was Successfully added!")
let title = movie['title'], year = movie['year']
setTimeout(() => {
this.movieService.getMovie(title, year);
}, 5000)
},
error => {
console.log(error)
this.messageService.add(error.error)
}
)
}
从代码中我可以看到,我正在尝试将一些电影数据添加到数据库中。如果电影已成功添加,我想显示一条消息5秒钟并使用setTimout,导航到另一个页面(编辑,使用this.movieService(title, year)
调用结束编辑 )。好了,消息显示但是setTimeout函数中没有任何内容运行。我甚至在setTimeout之前和之内添加了console.log来确认它没有运行的setTimeout。谁知道我做错了什么?
答案 0 :(得分:1)
RelationshipId
可能不会触发。这是因为从builder.HasOne(e => e.Relationship)
.WithOne()
.HasForeignKey<Class2>(e => e.RelationshipId);
// ^ ^
// (1) (2)
返回的大多数Observable都是冷观察者,直到他们订阅才会执行。