0
我想將數據發送到Firebase數據庫,並等待數據更新後再執行其他操作,例如$ state.go或其他操作。
Firebase等到值更新
如何以Firebase和AngularJs的良好方式做到這一點?
這是我的部分代碼:
var ref_achats_offres = firebase.database().ref('achats_offres');
var key_achats_offres = ref_achats_offres.push().key;
var ladate = moment().format();
var accountId = $localStorage.accountId;
var push_achats_offres = ref_achats_offres.child(key_achats_offres).set({
cout: cout,
ajout_le: ladate,
active:true,
accounts: accountId,
id_offre : id_offre,
unique_code: code
});
var ref_offres = firebase.database().ref('offres');
ref_offres.child(id_offre).child('achats_offres').child(key_achats_offres).set(true);
var ref_accounts = firebase.database().ref('accounts');
ref_accounts.child(accountId).child('achats_offres').child(key_achats_offres).set(true);
firebase.database().ref('accounts').child(accountId).child('credits').transaction(function(credits) {
return credits - cout;
});
$scope.modal2.hide();
Utils.message(Popup.checkIcon, Popup.achatOffreEffectue);
$state.go('mes_achats');
我什麼都不知道關於Angular。然而,你在尋找的是一個firebase「交易」:https://firebase.google.com/docs/database/web/save-data#save_data_as_transactions 交易回調的方式被稱爲有點抱怨,但啓用一個非常靈活的用法,您應該閱讀詳細信息:https://firebase.google.com/docs/reference/js/firebase.database.Reference#transaction – Sistr
另請參閱AngularFire關於路由最佳實踐的建議(即使用'resolve ')[這裏](https://github.com/firebase/angularfire/blob/master/docs/guide/user-auth.md#authenticating-with-routers)。 – Kato
@Kato我不明白你在說什麼!我的路線有問題嗎?謝謝 ! –