Javascript Angular2 Observable.map局部变量的捕获值
如何捕获局部变量的值以在Javascript Angular2 Observable.map局部变量的捕获值,javascript,angular,typescript,Javascript,Angular,Typescript,如何捕获局部变量的值以在Observable.map()callback中使用?例如,在我的Anglar2应用程序中,我希望捕获quantity的值,以便在findItem().map()中使用: let数量:number=1;//{ 如果(项!=null) { 对于(让i:number=quantity;i>0;i--)this.cart.addItem(item); } ordered.push(数量+x'+item.fullName);//用户的NL消息 })); 数量=1//重置数量 }
Observable.map()
callback中使用?例如,在我的Anglar2应用程序中,我希望捕获quantity
的值,以便在findItem().map()中使用:
let数量:number=1;//{
如果(项!=null)
{
对于(让i:number=quantity;i>0;i--)this.cart.addItem(item);
}
ordered.push(数量+x'+item.fullName);//用户的NL消息
}));
数量=1//重置数量
}
如果(entity.entity=='quantity')数量=entity.value,则为else;
}
返回可观察的forkJoin(查询,…);
ordered
将显示所有项目的数量1(因为quantity
的值在循环结束时始终为1)
我的研究表明,这是JavaScript中非常常见的问题,并且有很多例子说明如何在for
循环中捕获变量。但是,我无法找到如何捕获变量值以用于回调的任何信息,例如Observable.map()
在for
循环中使用常量
for (let entity of res.entities) {
if(entity.entity == 'item') {
const q = quantity; //here or somewhere
queries.push(
//..... use q instead
}
else if(entity.entity == 'quantity') quantity = entity.value;
}
在for
循环中使用常量
for (let entity of res.entities) {
if(entity.entity == 'item') {
const q = quantity; //here or somewhere
queries.push(
//..... use q instead
}
else if(entity.entity == 'quantity') quantity = entity.value;
}
改为使用const
-let
在函数作用域结束后将不存在。@DanielCooke不是const
不可分配的(编译器也会抱怨)?如果识别出“数量”,则应分配变量(下一个“项目”应具有数量)。或者我应该在if(entity.entity=='item')
scope中引入另一个const
变量吗?@DanielCooke是!在<代码>中引入变量(如果 S范围>代码>如果(实体,实体==‘项目’){const Lq=数量;…} <代码>产生预期结果-请考虑将其作为对这个问题的回答。是的,为模糊性道歉。我已将其添加到回答中。@DanielCooke不是const
不可分配的吗?请使用const
代替-let
在函数作用域结束后将不存在。@DanielCooke不是const
不可分配的(还有,编译器抱怨)?如果识别出“数量”,则应分配变量(下一个“项目”应具有数量)。或者我应该在if(entity.entity=='item')
scope中引入另一个const
变量吗?@DanielCooke是!在<代码>中引入变量(如果 S范围>代码>如果(实体,实体==‘项目’){const Lq=数量;…} <代码>产生预期结果-请考虑将其作为对这个问题的回答。是的,为模糊性道歉。我已经把它添加到了答案中,这不是行为主体
的作用吗?