RT
api_domain = ***,
search = {
artist: api_domain + 'search/musician',
music: api_domain + 'search/music',
playlist: api_domain + 'search/playlist',
}
function search(keyword) {
for (i in search) {
$.get(search[i], {
'keyword': keyword,
'page': 1,
'page_count': 20,
},function(data){
console.log(data);
})
}
}
现在的问题是如何把三个返回的结果合并在一起,结构为
{
artist: data1,
music: data2,
playlist: data3
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
结合楼上所说的我写实现了出来,但是不太满意,应为需要罗列出来( ̄▽ ̄)
谁能给我一个更好的方法
更新:
在 @杨川宝 @_我已经从中二毕业了 的帮助下实现了我的需求,附完整代码
使用
$.when()。jQuery.when()伪代码:
补充说明,你可以把所有的异步代码放到一个数组里面,然后利用
.apply()第二个参数来传入那个数组。伪代码:
得用promise-
用promise对象呀,然后把三个promise合并就可以
1.是不是可以把返回的数据,放进数组中,最后在用for in 把值放进去;
2.把async设为false 让他同步,这样就直接search[p] = data;
没有尝试过,不知道对不对。