如果我更改this.item
重新分配的顺序并将convertToArray()
方法的行放在其他两个之上,则下面的代码将停止工作:
combineLatest(params, queryParams, (params, qparams) => ({ params, qparams }))
.subscribe(allParams => {
this.item.color = allParams.qparams['color'] || allParams.params['color'] || ''; //this line must be above
this.item.price = parseInt(allParams.qparams['price']) || 0; //this line also
this.items.features = this.convertToArray(allParams.qparams['features']);
});
convertToArray
方法只是将字符串转换为数组(if (typeof(a) === string) { return [a] }
),并且如果将其放在预订的最后一行,则效果很好。如果不是,那么随后的所有操作都不会执行,我想了解原因。