gpt4 book ai didi

ios - Firebase数据库网络 iOS/OSX

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:25:14 24 4
gpt4 key购买 nike

我正在为一个学校项目开发一个网站,其中包含一个您需要按下的按钮。按下时,该按钮从数据库中获取一个值,child 'aantal' 并加 1。完成后,它会将其重新上传回数据库。再往前翻一页,您可以看到那个 child 的实时号码。问题是,这不适用于 iOS 9 或更低版本以及 OSX Yosemite 或更低版本。在 Android 和 Windows 上运行良好。

可重复使用的代码;

这只是一个按钮。如果你按下按钮,它会在 int 上加 1。这很奇怪,因为它不适用于上述操作系统。

<script src="https://www.gstatic.com/firebasejs/3.6.9/firebase.js"></script>
<script language="JavaScript">
// Initialize Firebase
var config = {
apiKey: //API KEY,
authDomain: //FIRBASE DOMAIN,
databaseURL: //DATABASE URL,
storageBucket: //STORAGE BUCKET,
messagingSenderId: //MESGSENDID
};
firebase.initializeApp(config);
var number;
var database = firebase.database().ref().child('aantal');
function buy() {
database.on('value', snap => number = snap.val());
var count = parseInt(number, 10) + 1;
database.set(count);
}
</script>

此代码无法运行,初始化自己的 Firebase 项目进行测试。出于安全原因,我删除了我的详细信息。

最佳答案

编辑原来 Safari(9.1/iOS 9.3 及更低版本)不支持箭头功能。

database.on('value', snap => number = snap.val()); 更改为 database.on('value', function(snap) { number = snap.val()}); 解决了这个问题。

嗯,我的意思是,该代码不应该在任何地方工作。

function buy() {
database.on('value', snap => number = snap.val());
var count = parseInt(number, 10) + 1;
database.set(count);
}

Firebase 是异步的,您不需要等待它实际从数据库加载数字。

这应该有效。

function buy() {
database.on('value', snap => {
number = snap.val();
var count = parseInt(number, 10) + 1;
database.set(count);
});
}

我不知道这是否真的是您遇到的问题,或者您是否只是在示例中写了这个。此外,在递增值时,您应该使用事务。

function buy() {
database.transaction(function(value) {
if (value) {
value++;
}
return value;
});
}

关于ios - Firebase数据库网络 iOS/OSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42734217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com