JS Double Fetch条件

时间:2018-11-24 15:59:33

标签: javascript fetch-api

我正在从本地文件获取列表。但是文件夹有时可以更改。所以来这里问你们是否正确,因为我认为idk是一种更好的方法。请帮助我:)

  fetch("./myJson.json")
     .then(res => { 
        if(res.status != 404)
           res.json() 
        else
           fetch("../myJson.json")
              .then(res => res.json())
              .then(data => console.log(data))
              .catch(err => console.error(err));
     })
     .then(data => console.log(data))
     .catch(err => console.error(err));

谢谢!

1 个答案:

答案 0 :(得分:3)

您将需要return来自回调的嵌套承诺并使用promise chaining feature

fetch("./myJson.json").then(res => { 
    if (res.ok)
        return res.json() 
    else
       return fetch("../myJson.json").then(res => res.json());
}).then(console.log, console.error);