Javascript 如何逐个执行三个异步函数
如果已经有人问我,我很抱歉,但是我已经在互联网上搜索过了,什么都没有找到 我正在使用firestore和javascript 到目前为止,我已经尝试过这个&还有很多其他的东西Javascript 如何逐个执行三个异步函数,javascript,asynchronous,functional-programming,Javascript,Asynchronous,Functional Programming,如果已经有人问我,我很抱歉,但是我已经在互联网上搜索过了,什么都没有找到 我正在使用firestore和javascript 到目前为止,我已经尝试过这个&还有很多其他的东西 var App function A (){ firebase.database().ref('Info/').once('value').then(function(snapshot){ var Ipz = (snapshot.val() && snapshot.val().I
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
您需要使用
将异步数据库功能与A
、B
和所有已完成的
功能链接起来。然后
连接每个功能:
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"));
可能重复的