Попробуй, надеюсь, это тебе поможет. Спасибо
TS
aData = [
{ "color":"blue","max":0, min:1, name:"joe","city":"neardenlans"},
{ "color":"red","max":50, min:5, name:"joe","city":"manila"},
{ "color":"pink","max":100, min:25, name:"joe","city":"neardenlans"},
{ "color":"gray","max":0, min:63, name:"joe","city":"new york"}
]
condition(item) {
if(item.color == 'pink' && item.max == 100 && item.name == 'joe') {
return item;
};
}
HTML
<div *ngFor="let item of aData">
<span *ngIf="condition(item)">
Name: {{item.name}}
Color: {{item.color}}
Max: {{item.max}}
</span>
</div>
Вы могли кодировать это все сами, или Вы могли просто использовать WebClient, который делает много трудной работы для Вас. Например, для загрузки файла как строки Вы назвали бы DownloadStringAsync (), который в конечном счете инициирует событие OnDowloadStringCompleted. Если файл является двоичным, Вы могли бы попытаться использовать DownloadDataAsync () вместо этого.
Вы используете Begin/EndGetResponse для отвратительного ожидания ответа HTTP. Если Вы делаете POST и должны отправить много данных асинхронно, используйте Begin/EndGetRequestStream.
Это не уникально для асинхронной передачи - можно искать синхронные версии для получения дополнительной информации.
Я не уверен, почему Вы сделали бы Чтение на потоке запроса - скорее всего, Вы будете писать в него и читать из Ответного потока.
Наконец, блог Jeffrey Richter имеет статью о части тонкости HttpWebRequest и потоков.
Следующая статья, кажется, имеет хорошее учебное руководство при использовании HttpWebRequest асинхронно с помощью потоков:
http://www.developerfusion.com/code/4654/asynchronous-httpwebrequest/
Вы рассмотрели выполнение веб-запроса в новом потоке?