objektif-c - Saya kini mempunyai 10,000 permintaan rangkaian Bagaimana saya boleh mengembalikan hasil dalam permintaan pertama, permintaan kedua, dan seterusnya?
PHPz
PHPz 2017-05-02 09:32:54
0
2
827

Keperluan semasa saya ialah mempunyai 10,000 permintaan rangkaian dan memintanya dilaksanakan mengikut urutan Selepas meminta data pada hari pertama, simpannya ke pangkalan data, dan kemudian minta yang kedua, soalan sekali sahaja jika sesiapa mempunyai sebarang idea?

PHPz
PHPz

学习是最好的投资!

membalas semua(2)
世界只因有你

Jika permintaan anda adalah biasa, contohnya, ID adalah berturut-turut, anda boleh memproses ID dalam panggilan balik atau proksi setiap permintaan yang berjaya sebelum memulakan permintaan seterusnya.
Cara yang agak mudah dan kasar:
Gunakan NSOperationQueue, kemudian tetapkan maxConcurrentOperationCount kepada 1 dan tambah kesemua 10,000 permintaan. Jika permintaan yang dilaksanakan tidak mempunyai hasil, baris gilir dibatalkan. Walau bagaimanapun, ini menjimatkan kod tetapi bukan memori.

phpcn_u1582
function apiCall (i){
    var i = i || 0 ;
    $http.get(i++).then(function(response){
        if(response.status=='ok'){
            apiCall(i);
        }
    },function(error){
        console.log(error);
    });
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan