Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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 For循环的部分未按顺序点火_Javascript_Angular - Fatal编程技术网

Javascript For循环的部分未按顺序点火

Javascript For循环的部分未按顺序点火,javascript,angular,Javascript,Angular,使用Angular 5,我创建了一个从web请求获取数据的函数。根据从请求中接收到的数据,我有一个基于接收到的System.Title的第二个web请求触发。但是,该函数正在启动第一个循环的部分,并等待启动第二个循环,直到第一个循环结束。我怎样才能解决这个问题 以下是TS: selectedDocType(title){ this.http.get("https://test.com/items?$select=Title,Image,Source/Title,System/Ti

使用Angular 5,我创建了一个从web请求获取数据的函数。根据从请求中接收到的数据,我有一个基于接收到的
System.Title
的第二个web请求触发。但是,该函数正在启动第一个循环的部分,并等待启动第二个循环,直到第一个循环结束。我怎样才能解决这个问题

以下是TS:

selectedDocType(title){    
    this.http.get("https://test.com/items?$select=Title,Image,Source/Title,System/Title&$filter=Title eq '" + title + "'").subscribe(data => {

      for (let i = 0; i < data['value'].length; i++) {
          let system = data['value'][i].System.Title;

          // REVIEW: FIRING AT END OF MAIN LOOP
          this.http.get("https://test.com/items?$select=Title,Location,Image&$filter=Title eq '" + system + "'").subscribe(data => {

            for (let i = 0; i < data['value'].length; i++) {
                var systemlocation = data['value'][i].Location;
                this.location = data['value'][i].Location;
                console.log("this.location", this.location)  // REVIEW: LAST LOG IN CONSOLE; DEFINED CORRECTLY
            }
          });

        let sources = data['value'][i].Source;
        for (let i = 0; i < sources.length; i++) {
            console.log("this.location", this.location) // REVIEW: UNDEFINED    
        };
        console.log("at end of main loop") // REVIEW: FIRES BEFORE LAST LOG
      }
    });
}
selectedDocType(标题){
这是http.get(“https://test.com/items?$select=Title、Image、Source/Title、System/Title&$filter=Title eq'“+Title+”)。订阅(数据=>{
for(设i=0;i{
for(设i=0;i
使用从请求返回的数据(如位置)的任何内容的可能重复项都应位于该请求回调函数中。