请教一个依次传入不同参数执行遍历Promise??

let   paramsName = ["new", "activity", "payed"]; // 参数名

     paramsName.forEach((item, index) => {
       init(item);
     });
     
function init(param){
  params.player_type = param;
  api.getPlayerStayDevice(params).then((res) => {
    console.log(params); 
    // 这里现在结果始终是 "payed",请教怎样依次遍历出"new", "activity", "payed"
    })
}
阅读 1.6k
2 个回答

Promise.all改造了一些你试下res是个数组

let paramsName = ["new", "activity", "payed"]; // 参数名

function init(param) {
    params.player_type = param;
    return api.getPlayerStayDevice(params)
}

Promise.all(paramsName.map((item, index) => {
    return init(item);
})).then(res=>{
    console.log(res);//返回值数组
})

看错了以为你要遍历返回值
你的代码里有paramsparam
params应该是全局变量每次赋值都是覆盖操作所以获取的是最后一个值
如果你只是获取"new", "activity", "payed"这些字符串可以用param

 api.getPlayerStayDevice(params).then((res) => {
    console.log(res.player_type);
     // 这里只能通过 res 里面才能拿到对应值。
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题