-1
在這段代碼我想要得到的posSnapshot.val().case
並將其存儲在tatarget
VAR,爲了這個,我需要執行dbCall()
功能之前console.log('TARGETOUT', tatarget)
火力地堡異步數據庫
function dbCall() {
var toReturn;
return admin.database().ref().child('games/' + event.params.gameId + '/player1/boats').once('value').then(function(snapshot) {
snapshot.forEach(function(typeSnapshot) {
typeSnapshot.forEach(function(posSnapshot) {
console.log('POSKEY', posSnapshot.key);
if(posSnapshot.key != 'status') {
console.log(rngPos, incr, posSnapshot.val().state);
if(rngPos == incr && posSnapshot.val().state == 0) {
console.log('===');
return(posSnapshot.val().case);
}
else if(rngPos == incr && posSnapshot.val().state == 1) {
return('1');
}
incr ++;
}
});
});
});
}
var loopPromise = new Promise(function(resolve, reject) {
DD = dbCall();
tatarget = DD.then(function(dbResult) {
console.log(dbResult);
return dbResult;
});
console.log('TARGETOUT', tatarget);
console.log('TARGETRESOLVE', tatarget);
resolve(tatarget);
});
loopPromise.then(function(loopResult) {
console.log(loopResult);
});
我的問題是,dbCall()
功能結束後, console.log
!
我試過每個承諾,每個回調函數,我也試過async
和await
,但Firebase不處理它。
我工作了超過15小時的這部分代碼。
有人能幫助我嗎?
謝謝!