我很抱歉是否已被要求,但我已经在互联网上进行了搜索,但没有任何效果 我正在使用Firestore和javascript 到目前为止,我已经尝试过此方法了
var App
function A (){
firebase.database().ref('Info/').once('value').then(function(snapshot){
var Ipz = (snapshot.val() && snapshot.val().Iplist) || 'Anonymous';
console.log(Ipz)
})
console.log('A')
}
function B (){
console.log('B')
}
App = Promise.resolve();
App = App.then(A).then(B);
App.then(() => {
console.log("All done");
})
我的输出:-
A
B
All done
JdGJtwEe8rb394BlX4IkjUfH4Wv1;JdGJtwEe8rb394BlX4IkjUfH4Wv1;
我想要此输出
JdGJtwEe8rb394BlX4IkjUfH4Wv1;JdGJtwEe8rb394BlX4IkjUfH4Wv1;
A
B
All done
答案 0 :(得分:3)
您需要使用A
将异步数据库函数与B
,all done
和.then
函数链接在一起,以连接每个数据库:
function lookup() {
return firebase.database().ref('Info/').once('value')
.then(function(snapshot) {
var Ipz = (snapshot.val() && snapshot.val().Iplist) || 'Anonymous';
console.log(Ipz)
// if you want to pass Ipz to `A` as a parameter, then `return Ipz;` here
});
}
function A() {
console.log('A');
}
function B() {
console.log('B');
}
lookup()
.then(A)
.then(B)
.then(() => console.log("All done"));