Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从firebase存储中获取react.js的异步映像数据?_Javascript_Reactjs_Firebase_Asynchronous_Firebase Realtime Database - Fatal编程技术网

Javascript 如何从firebase存储中获取react.js的异步映像数据?

Javascript 如何从firebase存储中获取react.js的异步映像数据?,javascript,reactjs,firebase,asynchronous,firebase-realtime-database,Javascript,Reactjs,Firebase,Asynchronous,Firebase Realtime Database,请告知,如何将数据放入队列返回数组。因为组件渲染比firebase发送数据快 此操作的代码片段(redux的) }您需要等待所有快照响应,如下所示: //样板文件开始--- 函数getImage(thumb){ 返回新承诺((解决)=>{ setTimeout(()=>resolve(thumb+'url'),Math.random()*500); }); } 函数子项(键、值){ this.key=key; 这个值=值; } Child.prototype.val=函数(){ 返回此.val

请告知,如何将数据放入队列返回数组。因为组件渲染比firebase发送数据快

此操作的代码片段(redux的)


}您需要等待所有快照响应,如下所示:

//样板文件开始---
函数getImage(thumb){
返回新承诺((解决)=>{
setTimeout(()=>resolve(thumb+'url'),Math.random()*500);
});
}
函数子项(键、值){
this.key=key;
这个值=值;
}
Child.prototype.val=函数(){
返回此.value;
}
函数receivePosts(键、子数据){
返回{key,childData};
}
职能分派(行动){
控制台日志(操作);
}
捕捉=[
新子项('key1',{thumb:'thumb1'}),
新子项('key2',{thumb:'thumb2'}),
新子项('key3',{thumb:'thumb3'}),
新子项('key4',{thumb:'thumb4'}),
新子项('key5',{thumb:'thumb5'}),
新子项('key6',{thumb:'thumb6'}),
新子项('key7',{thumb:'thumb7'}),
新子项('key8',{thumb:'thumb8'})
];
//样板末端---
功能内置选项卡后退(键){
返回Promise.all(snap.map)(函数(子函数){
返回getImage(child.val().thumb)。然后((url)=>{
返回{
“id”:child.key,
“url”:url,
…child.val()
}
});
})).然后((儿童数据)=>{
派送(接收站(钥匙、儿童数据))
});
}

内藏禁忌(“钥匙”)您需要等待所有快照响应,如下所示:

//样板文件开始---
函数getImage(thumb){
返回新承诺((解决)=>{
setTimeout(()=>resolve(thumb+'url'),Math.random()*500);
});
}
函数子项(键、值){
this.key=key;
这个值=值;
}
Child.prototype.val=函数(){
返回此.value;
}
函数receivePosts(键、子数据){
返回{key,childData};
}
职能分派(行动){
控制台日志(操作);
}
捕捉=[
新子项('key1',{thumb:'thumb1'}),
新子项('key2',{thumb:'thumb2'}),
新子项('key3',{thumb:'thumb3'}),
新子项('key4',{thumb:'thumb4'}),
新子项('key5',{thumb:'thumb5'}),
新子项('key6',{thumb:'thumb6'}),
新子项('key7',{thumb:'thumb7'}),
新子项('key8',{thumb:'thumb8'})
];
//样板末端---
功能内置选项卡后退(键){
返回Promise.all(snap.map)(函数(子函数){
返回getImage(child.val().thumb)。然后((url)=>{
返回{
“id”:child.key,
“url”:url,
…child.val()
}
});
})).然后((儿童数据)=>{
派送(接收站(钥匙、儿童数据))
});
}
内藏禁忌(“钥匙”)
function fetchPosts(key) {
return dispatch => {
    dispatch(requestPosts(key))
    return database.ref('article/').once('value', snap => {
        let childData = []
        snap.forEach(function(child) {
            getImage(child.val().thumb).then((url) => {
                console.log(url)
                return {
                    "id": child.key,
                    "url": url,
                    ...child.val()
                }
            }).then((array) => {
                console.log(array)
                childData.push(array)
            })
        })
        dispatch(receivePosts(key, childData))
    })
    .catch((error) => {
      console.log(error)
      dispatch(receivePosts(error))
    })
}