抱歉,如果这个问题没有意义,我对均值堆栈还是个新手。 我一直在尝试从一个express中间件中获取一个数组,以便在一个角形前端上显示。 我一直遇到的问题是,即使所有的东西都编译好了,而且看起来都能正常工作,但控制台中还是出现了一个错误:“错误类型错误:‘This.Brackets is undefined’”。
这就是出现问题的代码
'''
private brackets: Bracket[] = [];
private bracketsUpdated = new Subject<Bracket[]>();
constructor(private http: HttpClient) {}
getBracket() {
this.http.get<{message: string, brackets: Bracket[]}>('http://localhost:3000/api/brackets')
.subscribe((bracketData) => {
this.brackets = bracketData.brackets;
this.bracketsUpdated.next([...this.brackets]); // this is the problem line
});
console.log(this.brackets);
}
'''
这就是阵列的来源
'''
app.use("/api/brackets", (req, res, next)=>{
const bracket= [
{
id: 'alksdfjalskj',
bracketTitle:'bracket from node',
bracketBuyIn: "2",
bracketPlayer1:'name',
bracketPlayer2:'name2',
bracketPlayer3:'name3',
bracketPlayer4:'name4',
bracketPlayer5:'name5',
bracketPlayer6:'name6',
bracketPlayer7:'name7',
bracketPlayer8:'name8'
}
];
console.log(bracket);
res.status(200).json({
message:'Bracket from node',
bracket:bracket
});
});
'''
在vs代码中,它是被定义的,所以我很困惑,为什么它不工作。
请求的执行需要时间,并且异步运行。 因此代码将继续运行,而不是等待请求完成。 这个概念对初学者来说很难理解。 您有两种可能: