【发布时间】:2019-05-09 09:44:05
【问题描述】:
我目前在我的应用程序中遇到问题。 我正在尝试读取多个 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) + "}");
});
您知道如何解决这个问题吗? 试图找到一个带有可观察和承诺的解决方案,但到目前为止,我一无所知。
【问题讨论】:
-
你所说的“阅读它们的方法”是什么意思?上面的代码在一个函数中,您希望返回
return JSON.parse("{" + strJsonData.substring(0, strJsonData.length - 1) + "}");行的结果?根据this,你仍然得到Promise,你必须then()它或await它或其他东西。检查这个stackblitz.com/edit/js-i2yrtj!
标签: angular typescript promise observable