Javascript 在使用.fetch时,我是否可以将现有的.fetch函数链接到一个更大的同步查询中?

Javascript 在使用.fetch时,我是否可以将现有的.fetch函数链接到一个更大的同步查询中?,javascript,promise,fetch,Javascript,Promise,Fetch,我知道如何将所有这些链接到一个函数中。我对如何将以下函数的返回值合并到另一个函数中感到困惑 function queryPlayers() { fetch("foo", apiParams) .then(res => { if(res.ok){ return res.json() } else { return fetch("backup_bar", apiParams) .then(

我知道如何将所有这些链接到一个函数中。我对如何将以下函数的返回值合并到另一个函数中感到困惑

function queryPlayers() {
    fetch("foo", apiParams)
        .then(res => { 
            if(res.ok){ return res.json() }
            else { return fetch("backup_bar", apiParams)
                .then(res => { return res.json() }
            )}
        })
        .then(playerData => { return playerData })
        .catch(err => console.log(err))
}
我所要做的就是获取
playerData
,或者接收到的JSON,并在承诺解决后将其作为参数放入另一个函数中。我对arrow的功能和承诺还很陌生,我觉得我错过了一些东西

function getExtraData(playerData){
  fetch("some_foo" + playerData)
    .then(newData => doStuff())
}
作为参考,以下是我对这个问题的超级基本答案:

function queryPlayers() {
    console.log("Querying players...");
    return fetch("https://api-v2.royaleapi.com/top/players", apiParams)
        .then(res => { 
            if(res.ok){ return res.json() }
            else { return fetch("http://127.0.0.1:8000/js/players.json", apiParams)
                .then(res => res.json()
            )}
        })
        .then(playerData => { 
            return playerData;
        })
        .catch(err => console.log(err))
}
function queryData(){
    queryPlayers()
    .then(data => console.log(data))
}
$(function(){
    queryData();
});

是的,您只是在
queryPlayers
函数的开头缺少了一个
return
函数queryPlayers(){return fetch(“foo”),然后您只需要
queryPlayers()。然后(getExtraData)
Wow,我实现了它,它工作得很好……我不知道它需要额外的返回,你的
。那么(playerData=>{return playerData})
是多余的。你可以完全忽略它。