在继续之前完成订阅/承诺

时间:2021-04-17 19:05:15

标签: javascript angular rxjs

我需要在其他事情发生之前检查某件事是否存在。我通过 eventBus 监听输入,如下所示:

    eventBus.on('element.updateId', (event) => {

        const b = async ()=> {
            return await this.checkNewId(event.newId).then()
        }

        return b();
    });

这是需要完成的服务功能,但它没有完成而是转移到其他功能 - 我做错了什么?

checkNewId(newId) {
    return this.myService.getDiagram(newId).pipe(
        tap(
            (data) => {
                this.validationErrors.next('Duplicate');
                return data;
            }, 
            (err) => {
                this.validationErrors.next('');

            }
        ),
        first()
        ).toPromise();
}

我尝试在此处遵循此示例:Subscription to promise

0 个答案:

没有答案