1
Я хотел бы сделать ниже функциональность синхронной. «OnDataLoaded» нужно вызвать, как только поток будет полностью прочитан. Пожалуйста, представьте, какие изменения необходимо сделать.Dart HTTPClient Ответ запрос
String JsonContent="";
new HttpClient().getUrl(Uri.parse(uri))
.then((HttpClientRequest request)
{
request.headers.removeAll(HttpHeaders.ACCEPT_ENCODING);
return request.close();
})
.then((HttpClientResponse response)
{
response.transform(UTF8.decoder).listen((contents) {
JsonContent = contents.toString();
print(JsonContent);
//onDataLoaded(JsonContent);
});
});
Есть ли способ, чтобы выполнить onDataLoaded первым перед завершением из основного (арга). – Sudhi
Я видел это в вашем вопросе, но не был уверен, действительно ли вы это понимали, потому что в другой части говорилось, что вы хотите вызвать 'onDataLoaded', когда выполняется восстановление. Нет, я не нашел версию синхронизации для getUrl для сервера. Клиент имеет 'request.open (« GET », url, async: false);' См. Также http://stackoverflow.com/questions/18404489 –
Пробовал этот фрагмент кода перед отправкой моего запроса. То же поведение - main() завершается, а затем печатается контент. – Sudhi