Форум программистов, компьютерный форум, киберфорум
Наши страницы
Swift
Войти
Регистрация
Восстановить пароль
 
 
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
#1

Http request - Swift

26.11.2015, 13:08. Просмотров 1073. Ответов 25
Метки нет (Все метки)

Здравствуйте. Как получить ответ от сервера по url, без всяких асинхронных конструкций? Да, я знаю что нужно все подобные операции делать асинхронно, но мне нужно послать 10 запросов по очереди и если для каждого писать код в блоках получается очень длинная и не читаемая простыня. Поискал информацию - везде говорят, что можно только асинхронно, но как тогда поступают в ситуациях похожих на мою?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 13:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Http request (Swift):

Post autologin request
Всем привет Пишу приложение, которое будет подкючаться к внешнему Веб сайту...

HTTP авторизация
Такая зада, есть web-сервис на sharePoint от Microsoft. Я обращаюсь к нему...

Чужие HTTP-запросы в HTTPS
Привет всем! Возникла интересная задача: Со стороны заказчика пришел...

Отправка HTTP (не HTTPS) запроса в Swift 2.0 с использованием NSURLSession
Доброго времени суток. Возникла проблема с отправкой POST запроса по http....

Ошибки Synapse (HTTP/1.1 400 Bad Request / HTTP/1.1 413 Request Entity Too Large)
Добрый день. При работе с Synapse начали возникать вот такие вот две ошибки...

Warning: file_get_contents(...) failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
<?class VK_Auth{ //ID приложения private $vk_app_id; //Защищенный ключ...

25
Vorona
Peace 2 all shining faces
671 / 533 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
04.12.2015, 04:23 #21
AncientPenguin, вот серьезно, зачем выдумывать такой ущербный велосипед, если есть такие прекрасные решения, как промисы и сигналы, которыми сейчас весь продвинутый мир пользуется?

не легче сесть, прочитать и выучить один раз, чем каждый раз такую галимотью выдумывать?
0
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
04.12.2015, 12:33 #22
Цитата Сообщение от Vorona Посмотреть сообщение
не легче сесть, прочитать и выучить один раз, чем каждый раз такую галимотью выдумывать?
Лишняя функция vs лишний паттерн, и с чего вы взяли что написать паттерн (а там точно не повторно используемый код, 10 связанных запросов подряд) проще?
0
Vorona
Peace 2 all shining faces
671 / 533 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
04.12.2015, 23:03 #23
Цитата Сообщение от AncientPenguin Посмотреть сообщение
Лишняя функция vs лишний паттерн
ахах весь мир этим пользуется, потому что это лучшее на сегодня для подобных задач (упоминал про стримы, но они лучше подходят для более сложных конструкций, хотя и тут будут как влитые)
изучая паттерн, вы изучаете оптимальное решение и можете генерировать новые на его основе, а когда пишете очередную "функцию" (хотя в вашем случае это просто суп из методов), вы каждый раз тратите время на решения одной и той же задачи, можете еще велосипед и колесо каждое утро придумывать, судя вашей логике.
потому что суть в переиспользовании существующих решений, протестированных и проверенных, а не решении тривиальных задач через жопу.

используя такие решения как промисы, можно запросто и без труда компоновать асинхронные операции, писать декларативный и очевидный код, вы же написали полную ересь, за которую вас бы скорее уволили из более менее адекватной комманды.

считаю, что вам лучше бы ознакомиться с этими паттернами и библиотеками, а не спорить о том, что кусочек говнеца написанный на коленке может быть предложен, как решение и нормально использован в коде.

Objective-C
1
2
3
4
5
sendRequest1()
    .then(sendRequest2)
    .then(sendRequest3)
    .completed(notifyAboutCompletion)
    .failured(notifyAboutFailure)
vs

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class facepalm
{
    func fakerequest1()
    {
        var request1 = {
            () -> () in
            self.fakerequest2()
        }
    }
    
    func fakerequest2()
    {
        var request2 = {
            () -> () in
            self.fakerequest3()
        }
    }
    
    func fakerequest3()
    {
        var request3 = {
            () -> () in
            // ...
        }
    }
}
а завтра вам надо их использовать в другом порядке, обрабатывать ошибки и вставлять промежуточные операции между ними, я поменяю одну строчку, вы же - перелопатите весь класс, что, кстати, противоречит SOLID, если слышали о таком

не позорились бы...
0
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
05.12.2015, 07:11 #24
Цитата Сообщение от Vorona Посмотреть сообщение
а завтра вам надо их использовать в другом порядке, обрабатывать ошибки и вставлять промежуточные операции между ними, я поменяю одну строчку, вы же - перелопатите весь класс, что, кстати, противоречит SOLID, если слышали о таком
Цитата Сообщение от Spelcrawler Посмотреть сообщение
И в каждом случае есть несколько вариантов дальнейшего поведения. Т.е. куча проверок на все что можно сбор разных параметров с разных запросов и использование этих параметров в дальнейших запросах.
Может вы сначала условия задачи прочтете прежде чем рассказывать что ваш паттерн в 150% ситуаций лучше.

Добавлено через 14 минут
Кстати:

Цитата Сообщение от Vorona Посмотреть сообщение
а завтра вам надо их использовать в другом порядке, обрабатывать ошибки и вставлять промежуточные операции между ними, я поменяю одну строчку, вы же - перелопатите весь класс
Там связанные функции и я легко могу вставить функцию между ними так же как и элемент в связный список, но то что вы этого не заметили намекает...
0
Vorona
Peace 2 all shining faces
671 / 533 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
05.12.2015, 22:47 #25
Насчет того читал ли я тз, естественно, промисы и стримы тут подходят не на 150 а на все 300%, но вы сильно умный чтобы в этом разбираться, лучше напишите пару говнофункций.

Ох ладно, что со стеной общаться, удачи вам в вашем "развитии".
Надеюсь ваши советы никто не будет слушать, иначе будут с вами костер палочками разжигать.
0
AncientPenguin
98 / 45 / 18
Регистрация: 09.08.2015
Сообщений: 367
06.12.2015, 21:46 #26
Vorona,

Не по теме:

и вам добра. На будущее, либо цитируйте часть сообщения либо в ник жмите когда кому то отвечаете, а то сообщения не приходят.

0
06.12.2015, 21:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2015, 21:46
Привет! Вот еще темы с решениями:

Выполнение http.request http.get
О задаче: Начну с того что мне нужно сделать, мне нужно получить из формы...

File_get_contents failed to open stream: HTTP request failed! HTTP/1.1 505
Ребята подскажите пожалуйста. Использую фреймворк Yii. Пишу небольшой парсер....

Http Request
Всем хай разбераюсь с одним google api, и к нему нету библиотеки пока...

Http Request
Доброго дня. Требуется на ls (может лучше java) отправлять данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru