这是我的 NgOnInit
方法。控制台中仅执行“hello before”。我已经试过了 .subscribe( () => console.log("hello after"))
,但这里面什么都不起作用。
ngOnInit(): void {
console.log("hello before")
this.checkoutService.getTemplates().subscribe(({ templates }) => {
console.log("hello after")
this.templates = templates;
console.log(templates)
})
}
checkoutservice:
getTemplates(): Observable<{templates: Template[]}> {
return this.http.get<{templates: Template[] }>("http://localhost:3000/checkout")
}
/ checkout 端点处理程序:
router.get("", (req, res, next) => {
var templates = [];
var realTemps = [];
const token = req.headers.authorization.split(" ");
const decoded = jwt.verify(token[1], 'secretkey');
decodedFactoryId = decoded.factoryId
Template.findAllByFactoryId(decodedFactoryId)
.then((results) => {
for (var i = 0; i < results.length; i++) {
// THIS IS AN AVOIDABLE LOOP, quadratic time must be prevented by correctly formatting the data (TODO)
for (var j = 0; j < results.length; j++) {
if (results[i][j].id) {
templates.push(results[i][j].id)
}
}
}
}).then(() => {
// Promise.all
return Promise.all(templates.map(template => Template.findByTemplateId(template).then(result => {
console.log("here is the result: " + JSON.stringify(result[0]))
realTemps.push(result);
})));
})
.then(() => {
return realTemps;
})
})
有2个请求发送到http://localhost:3000/checkout. 其中一个回复了200英镑,另一个什么也没给。
这是我的网络选项卡:
成功响应
没有回报?
我怎样才能在我的 checkoutservice
在 NgOnInit
要实际执行的方法?
暂无答案!
目前还没有任何答案,快来回答吧!