#javascript #node.js #typescript #angular-universal #eventemitter
Вопрос:
Мой TransferState.onSerialize()
обратный вызов должен получить данные от an EventEmitter
.
Однако, насколько я понимаю, первое является синхронным, в то время как второе, очевидно, асинхронно.
Моя, в этом сведенном к минимуму фрагменте, реализация прямо сейчас, с упущением именно этого момента, такова:
import { OnInit } from '@angular/core'; import { makeStateKey, StateKey, TransferState } from '@angular/platform-browser'; import SerializerJsonld from '@rdfjs/serializer-jsonld'; import type { Store } from '@rdfjs/types' import { EventEmitter } from 'stream'; export class DatastoreService implements OnInit { private readonly _store: Store; private readonly RESULT_KEY: StateKeylt;stringgt; = makeStateKey lt; string gt; ('result'); async get_store(): Promise lt; Store gt; { await this._store.open(); return this._store; } constructor( private transferState: TransferState, ) {} ngOnInit(): void { this._store.open().then(store =gt; { this.transferState.onSerialize(this.RESULT_KEY, () =gt; { const output = new SerializerJsonld().import(this._store.match()); return ???; }); }); } }
Как я могу решить эту или вообще подобные ситуации?