Skip to content

Instantly share code, notes, and snippets.

@rafagsiqueira
Last active January 16, 2021 14:58
Show Gist options
  • Save rafagsiqueira/a540229763ee374efb752485bf95fb32 to your computer and use it in GitHub Desktop.
Save rafagsiqueira/a540229763ee374efb752485bf95fb32 to your computer and use it in GitHub Desktop.
An asynchronous method and its corresponding observable returning method
getUsers = async () => new Promise((resolve, reject) => {
if (someCondition) {
someAsyncOperation()
.then((result) => resolve(result))
.catch((err) => reject(err))
}
else {
someOtherAsyncOperation()
.then((result) => resolve(result))
.catch((err) => reject(err))
}
}
getUsers$ = (): Observable<any> => new Observable((observer) => {
if (someCondition) {
someAsyncOperation()
.then((result) => observer.next(result))
.catch((err) => observer.error(err))
.finally(() => observer.complete())
}
else {
someOtherAsyncOperation()
.then((result) => observer.next(result))
.catch((err) => observer.error(err))
.finally(() => observer.complete())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment