![](/img/trans.png)
[英]How to use async:false in angular js 1.6, so that java script next line execution get block until $http completed
[英]block js execution until async request is completed
我在預取React應用程序資源時遇到問題。 我有一個函數,應該獲取json資源並將其分配給循環中的對象屬性。 然后,該函數應返回所有已解析的jsons的對象,而不是返回具有未解決的Promise屬性的對象。
是否可以停止執行js代碼,直到完全履行承諾,以便該函數將返回正確的數據?
是的,類似同步請求。
async function getJson (file, url) {
const response = await fetch(`${url}/${file}.json`);
const json = await response.json();
return json;
}
async function getTranslations(files, url) {
let r = {};
files.map( (file, i) => {
r[file] = await getJson(file, url);
});
return r;
}
我不認為您應該使用“ map”這樣的方法-用forEach填充一個更好的對象。 盡管我不能保證這就是問題所在。
async function getTranslations(files, url) {
let r = {};
files.forEach(file => r[file] = await getJson(file, url));
return r;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.