Вам просто не хватает нескольких return
операторов в вашей функции createWebsite
.
Примерно так:
createWebsite(name) {
return this.afs.collection('websites', (ref) => ref.where('name', '==', name)
.limit(1))
.get()
.subscribe(websites => {
if (websites.size == 0) {
const documentId = this.afs.createId();
return documentId;
}
});
}
С этими двумя добавленными return
операторами, documentId
всплывет и будет возвращен из createWebsite
, где блок then()
вызывающего кода может затем забрать его.