Я пытаюсь назначить переменную после выборки в reactjs, она не назначается после выборки для кода ниже:
var apiBase = '';
fetch('/AppSettings/GetSettings')
.then(response => { return response.text() })
.then(data => {apiBase = data; console.info("Within Call:" + apiBase); })
.catch(err => {console.info("Error :" + err) });
Если бы вы могли делать то, что хотели, тогда не было бы причин для обещаний / обратных вызовов в первую очередь, и вы могли бы просто выполнять var apiBase = fetch('/AppSettings/GetSettings').text(). Но поскольку процесс выборки данных из сети - это асинхронный, мы должны предоставить обратные вызовы, чтобы уведомить нас, когда данные доступны.
@Felix Теперь я получаю значение, используя async и await, но возвращаемое значение не передается в следующую выборку, где мне нужно вернуть список значений; ниже мой фрагмент кода: return await fetch (apiBase + '/ StandardCostItem') .then (response => response.json () as Promise <StandardCostItem []>) .then (standardCostItems => Array.from (standardCostItems, c = > новый StandardCostItem (c))); переменная apiBase не получает присвоенное значение из другой выборки, оцените ваш ответ
async / await - это просто синтаксический сахар для работы с обещаниями. Это не решает основную проблему асинхронности кода, но вы хотите, чтобы он был синхронным. Функция async всегда возвращает обещание.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


fetch/ обещания - это асинхронный. Все, что требует доступа кdata, должно содержаться или вызываться из того же места, где вы делаетеconsole.info("Within Call:" + apiBase);.