打字稿中的角度同步调用

时间:2018-12-07 15:42:33

标签: angular typescript promise observable

我目前在应用程序中遇到问题。 我正在尝试读取多个JSON文件,但是读取所有JSON文件的方法会在读取所有文件之前返回。

arrJsonPathFinal是JSON文件列表。

Promise.all(arrJsonPathFinal.map(url =>
  fetch(url).then(resp => resp.json())
)).then(jsonValue => {
  jsonValue.forEach((json, index) => {
    strJsonData += '"' + arrJsonPath[index] + '":' + JSON.stringify(jsonValue[index]) + ",";
  });
  return JSON.parse("{" + strJsonData.substring(0, strJsonData.length - 1) + "}");
});

您是否知道如何进行管理? 试图找到一种具有可观察性和承诺的解决方案,但到目前为止,我还是一无所知。

1 个答案:

答案 0 :(得分:0)

Promise.all(arrJsonPathFinal.map(url =>
  fetch(url)
)).then(resps => {
      resps.forEach((resp, index) => {
          jsonValue=> resp.json())
          strJsonData += '"' + arrJsonPath[index] + '":' + 
             JSON.stringify(jsonValue[index]) + ",";
   });
    return JSON.parse("{" + strJsonData.substring(0, strJsonData.length - 1) + 
   "}");
 });