Javascript 未捕获错误:Firebase.update失败:第一个参数在属性';产品.数量';
未捕获错误:Firebase.update失败:第一个参数在属性“products.quantity”中包含NaNJavascript 未捕获错误:Firebase.update失败:第一个参数在属性';产品.数量';,javascript,reactjs,firebase-realtime-database,react-redux,Javascript,Reactjs,Firebase Realtime Database,React Redux,未捕获错误:Firebase.update失败:第一个参数在属性“products.quantity”中包含NaN import Actions from './actionTypes' import * as DB from '../../firebase/database' export function saleAction(storeData){ console.log('222222222222',storeData) return dispatch =
import Actions from './actionTypes'
import * as DB from '../../firebase/database'
export function saleAction(storeData){
console.log('222222222222',storeData)
return dispatch =>{
dispatch(SaleAction());
return DB.database.ref('/sale').push(storeData).then((data)=>{
return DB.database.ref('/products/').once('value',(snap)=>{
var oldQty = parseInt(snap.val().quantity);
console.log('quantityyyyyyyyyyy',oldQty)
var newQty = parseInt(oldQty - parseInt(storeData.quantity));
return DB.database.ref('/products').set(newQty,(done)=>{
alert('successfuly')
dispatch( SaleActionSuccess(data))
})
})
})
.catch((error)=>{
dispatch((SaleActionFailed(error)))
alert('failed')
})
}
}
export function SaleAction(){
return{
type:Actions.ADDSALEREQUEST
}
}
export function SaleActionSuccess(data){
return{
type: Actions.ADDSALEREQUESTSUCCESS,
data
}
}
export function SaleActionFailed(){
return{
type: Actions.ADDSALEREQUESTFAILED
}
}
export default saleAction;
当我尝试此代码时,它给出了一个错误“未捕获错误:Firebase.update失败:第一个参数在属性“products.quantity”中包含NaN”
什么是快照?我猜这是一个表单输入。它的
val()
是什么parseInt
如果无法解析您提供给它的内容,则返回NaN
,实际上snapshot.val()。由于val()
返回字符串,因此quantity
看起来是错误的