Rumah > Soal Jawab > teks badan
如题,Alamofire 如何将request添加到一个队列里面,顺序执行??
伊谢尔伦2017-04-18 09:35:38
Buat NSOperationQueue
dan tetapkan maxConcurrentOperationCount
kepada 1
supaya ia dilaksanakan secara berurutan.
queue.addOperationWithBlock {
manager.request(.GET, ...)
}
高洛峰2017-04-18 09:35:38
Baiklah, biar saya siarkan kodnya
Jika permintaan rangkaian itu sendiri adalah tidak segerak, maka menyertai baris gilir siap pasti akan menjadi tidak segerak secara langsung Melaksanakan yang seterusnya tidak boleh terus beratur untuk pelaksanaan.
Jadi, anda mempunyai dua kaedah untuk menanganinya. Satu ialah menyekat dengan isyarat, dan satu lagi ialah memanggil semula operasi seterusnya selepas selesai
NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
//your request
}];
Kemudian letakkan semua operasi ke dalam tatasusunan operasiKemudian
NSOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
//your request
// success in your request--> callback next operation
// fail in your request-->do something
}];
Signal blocking pun boleh, tapi effisien akan terancam kalau ditulis macam ni mesti senang.