如何从childsnapshots所有值到一个变量传递的变量的函数
我想要得到的childsnapshot的所有值到一个变量和值传递给这应该创建一个图形功能之前,值, 我不能够收集到所有的值而过,我曾尝试回调,但无法实现它正确如何从childsnapshots所有值到一个变量传递的变量的函数
这里是代码片段::
dbref
.once("value")
.then
(
function(snapshot)
{
snapshot.forEach
(
function(childsnapshot)
{
var data = childsnapshot.val();
var Nameval=data.Name;
if(Nameval==namekey)
{
console.log("Success");
Ikey=childsnapshot.key();
var dxRef=new Firebase("https://apraisalstaging.firebaseio.com/EmployeeDB/EApraise/"+Ikey);
dxRef
.once("value")
.then
(
function(snapshot)
{
snapshot.forEach
(
function(childsnapshot)
{
var data=childsnapshot.val();
var Rtdate=data.Dateval;
console.log(Rtdate);
}
这里有更多的人则只是弗兰克......有时候。我已经调整你的代码一点点帮我找出您的问题,我强烈建议你看看承诺是如何工作的。没有太多去这里的是我能想出:
dbref
.once("value")
.then(function (snapshot) {
var promises = [];
snapshot.forEach(function (childsnapshot) {
var data = childsnapshot.val();
var Nameval = data.Name;
if (Nameval == namekey) {
console.log("Success");
Ikey = childsnapshot.key();
var dxRef = new Firebase("https://apraisalstaging.firebaseio.com/EmployeeDB/EApraise/" + Ikey);
promises.push(dxRef
.once("value")
.then(function (snapshot) {
var returnData = [];
snapshot.forEach(function (childsnapshot) {
var data = childsnapshot.val();
var Rtdate = data.Dateval;
console.log(Rtdate);
returnData.push(Rtdate);
});
return returnData;
}));
}
});
return Promise.all(promises);
}).then(function(result){
console.log(result);
});
这将创建一个解决一旦所有的子请求承诺的阵列已经解决了,然后就可以看到的console.log (结果)在底部。这就是你要调用你的函数的地方。
冉代码得到了以下错误未捕获(在承诺)的ReferenceError:$ Q不是在testcallback.html定义:65 (匿名)@ testcallback.html:65 testcallback。 HTML:58 2017年10月2日 testcallback.html:59未捕获的(以诺)类型错误:data.push不是一个函数 –
你可以使用普通的JavaScript –
嘿,我更新为使用vanially JS也固定一个小bug。 –
@Frank面包车Puffelen请看看 –