Ngonit未在服务订阅中执行代码

vfhzx4xs  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(175)

这是我的 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英镑,另一个什么也没给。
这是我的网络选项卡:
成功响应
没有回报?
我怎样才能在我的 checkoutserviceNgOnInit 要实际执行的方法?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题