angular - 将 Promise (onSnapShot Firebase-Angular) 转换为订阅 (onSnapShot Firebase-Angular)
问题描述
我想将我在服务文件中的这个 Promise 转换为订阅,并且能够从其他地方调用它,并让它在数据发生变化时返回值。
_services.ts
update(): Promise<any> {
return new Promise((resolve, reject) => {
this._subscription = onSnapshot(doc(this._fireStore, 'Core/App/general', 'mantenimiento'), (document) => {
const data = document.data();
let active = false;
if (data.active) {
activo = true;
}
resolve(active);
});
});
};
从理论上讲,它可以部分采用这种形式:
mantenimiento(): Observable<any> {
this._subscription = onSnapshot(doc(this._fireStore, 'Core/App/general', 'mantenimiento'), (documento) => {
const data = documento.data();
if (data.activo) {
return true;
} else {
return false;
}
});
}
不幸的是,它不返回数据。如果我把这个函数放在我调用它的地方,它就可以正常工作。问题是我想将此函数传递给服务文件。
先感谢您
解决方案
推荐阅读
- python - python中的延迟微分方程
- ios - Is it possible to use CoreBluetooth instead of iBeacons to measure distance in the background?
- elasticsearch - 检查多个字段是否存在
- json - 当函数签名明确说明返回类型时,Swift 期望返回 void
- android - 使用 sqlCipher 时,DBflow 不适用于现有数据库
- android - 无法解析方法 setSupportActionBar(androidx.appcompat.widget.Toolbar)
- jenkins - 如何在远程节点上使用机密文件
- three.js - three.js - 为什么看起来多个像素具有相同的 gl_FragCoord.xy?
- jwasm - 我可以在 ASP.NET 中提供 wasm 文件吗?
- angular - 如何识别“
" 组件或选择器 app-administration-treatment-plan-history