Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Angular 从“远程”json到当前json 3获取数据_Angular_Ionic Framework_Ionic3 - Fatal编程技术网

Angular 从“远程”json到当前json 3获取数据

Angular 从“远程”json到当前json 3获取数据,angular,ionic-framework,ionic3,Angular,Ionic Framework,Ionic3,我有一个这样的物体 mapsToSync = {to:this.token,fils:[{src:"",md5:""}]}; 这里我想用来自资产的json填充fils this.http.get('../assets/fills.json').map(res => res.json()).subscribe(data => { this.mapsToSync.fils.push(data.fills); }); 而fills.json

我有一个这样的物体

 mapsToSync = {to:this.token,fils:[{src:"",md5:""}]};
这里我想用来自资产的json填充fils

 this.http.get('../assets/fills.json').map(res => res.json()).subscribe(data => {
            this.mapsToSync.fils.push(data.fills);
        }); 
而fills.json是

{
    "fills":[
        {"src":"","md5":""},
        {"src":"","md5":""},
        {"src":"","md5":""}
    ]
}
我的问题是这个。我的对象现在是这样的:

{
to:this.token,
fils:[{src:"",md5:""},[{src:"",md5:""},{src:"",md5:""},{src:"",md5:""}]]
};
我想要

  {
    to:this.token,
    fils:[{src:"",md5:""},{src:"",md5:""},{src:"",md5:""},{src:"",md5:""}]
    };
如果一个用户试图操作我得到的数据,例如data.length->length of undefined。所以数据还没有准备好。我必须使用async awain函数?

因为您的mapsToSync.fils和data.fill具有相同的数组结构,所以您也可以使用concat功能直接合并它们

 this.http.get('../assets/fills.json').map(res => res.json()).subscribe(data => {

this.mapsToSync.fils=this.mapsToSync.fils.concat(data.fills);


        }); 

这样,现有数据将与新数据保持一致

,但在声明中,我有mapsToSync={to:This.token,fils:[{src:,md5:}]};。所以如果我这样声明:mapsToSync={to:this.token,fils:[{src:somePath,md5:dfgfhdh4234456}]};。我将丢失有关其src和填充的信息。怎么推?有个错误。您必须分配它:this.mapsToSync.fils=this.mapsToSync.fils.concatdata.fills;是的,我刚刚错过了,我现在更新了答案,谢谢。这就是答案