非同步和同步的写法的get json写法

          
            

$.getJSON(universityData.root_url + ‘/wp-json/wp/v2/pages?search=’ + this.searchField.val(),pages => {
var combinedResults = posts.concat(pages); //IN javascript all arrays accessed a concat method to concat multiple arrays.

            this.resultsDiv.html(`
            <h2 class="search-overlay__section-title">General Information</h2>
            ${combinedResults.length ? '<ul class="link-list min-list">' : '<p>There are no posts found.</p>'}


                ${combinedResults.map( item => `<li><a href="${item.link} ">${item.title.rendered}</a></li>` ).join('')}

                ${combinedResults.lengtyh ? '</ul>' : ''}
            `);
        this.isSpinnerVisible = false;

同步的写法是:

$.when(
			$.getJSON(universityData.root_url + '/wp-json/wp/v2/posts?search=' + this.searchField.val()),
			$.getJSON(universityData.root_url + '/wp-json/wp/v2/pages?search=' + this.searchField.val())
			).then( (posts,pages) => {
				// = function(posts){    } getjson函数传递第一个url参数的数据到第二个函数
			//用es6 箭头函数 可以使this 仍然指向主要的object也就是class
			//array.map() js 方法 跟forEach 方法类似,  原数组被映射成对应新数组,来获得对象数组中的调用函数处理后的特定属性值们。 array.map 可以设置匿名函数来实现。map()不会改变原始数组。 用的时候原数组会传递一个item参数到map方法
			//JS join( )方法 把数组中所有元素放入一个字符串, 元素通过指定的分隔符进行分隔。
			//用法 arrayObject.join(separator)  如下面testArray.map( )生成了arrayObejct,然后通过join()方法来将array.map() 数组 放入字符串 然后通过空的连接符
			//In javascript every array has accessed map() method, the function will run once for each item .
			//testArray.map( item => `<li>${item}</li>` ) 这个意思就是 每个testArray的item都应用map() 里面function的内容。也就是每个item 都以<li>${item}</li> 这种形式, 有多少个item 就有多少个li, 然后 传递参数到这个function 函数里, 但是仍然会包含  数组里面的逗号。  所以要用 join( )方法 函数来重新定义分隔符
			//join() 把array 转换成 字符串。  
			//var testArray = ['red','yellow','pink'];
			//ternary oprator ${condition ? yay : nay}
			//posts.length 每个array都有一个属性叫做length, length 会告诉你会有多少item在array里。如果length是0 就是没有item . 所以是false 
			//如果posts.length为0说明查询的结果没有item也就是没有帖子
			//
			var combinedResults = posts[0].concat(pages[0]);  //IN javascript all arrays accessed a concat method to concat multiple arrays. 

				this.resultsDiv.html(`
				<h2 class="search-overlay__section-title">General Information</h2>
				${combinedResults.length ? '<ul class="link-list min-list">' : '<p>There are no posts found.</p>'}
				 

					${combinedResults.map( item => `<li><a href="${item.link}	">${item.title.rendered}</a></li>` ).join('')}

					${combinedResults.lengtyh ? '</ul>' : ''}
				`);
			this.isSpinnerVisible = false;
		});