javascript - 从角度的可观察操作返回值?
问题描述
我在 Angular 中工作,问题似乎是:当我在组件中订阅 observable 时,我可以成功 console.log() 数据,但我无法将数据分配给任何前面声明的变量并在视图模板中查看. 这是代码:我知道登录控制台是一个同步过程,而可观察订阅本身是异步的,但是从视图模板中的异步操作输出一个值似乎是问题所在。我已经看到了很多关于堆栈溢出的解决方案,但它并没有解决问题,因为它没有解决这类问题。 这是代码示例
//The getData function returns an obsverbale
favoriteShirt;
const gtc = this;
gtc.getData().subscribe({
next: (data) => {
console.log(data.favShirtFromStore) // this returns an objects with the shirts (this is a sync op)
gtc.favoriteShirt = data.favShirtFromStore; //this returns undefined <= where the problem is
},
error:(err)=>{console.log(`There was an error ${err}`)},
complete:()=>{console.log("Completed...")}
});;
解决方案
你为什么不这样使用它:
gtc.getData().subscribe(res => {
//whatever you want to do with res
});
这res
是从您的函数返回的数据,您可以按照自己的方式使用它,例如将其分配给另一个变量等等......
推荐阅读
- python - Tensorflow NN 精度/预测不变
- node.js - Wait for foreach to complete NodeJS
- python - 如何根据给定的 N 值获取元素列表
- postgresql - Postgresql pg_dump 和 pg restore 不恢复数据库的全部数据
- node.js - 从 AWS SAM 中的节点应用程序连接到 docker 中的 mongodb
- android - 预期为 BEGIN_ARRAY,但在改造调用后为 BEGIN_OBJECT
- sorting - 在 SPSS 建模器 (17/18) 中,使用排序块对特定列进行排序时评估遇到的关系的标准是什么?
- asp.net - Tag Helper asp-validation-for 总是显示
- php - 如何解决此错误“警告:使用未定义的常量 asDollars - 假定为 'asDollars'(这将在 PHP 的未来版本中引发错误)”
- f# - 使用跨度
在 F# 中:为什么这不行?