0

複数の SOAP リクエストを受け取る必要があり、すべてのリターンをまとめて取り戻す必要があります。

私が今していることは次のとおりです。

    for (let this_target of list_of_target)
    {
        const req = http.request(conn, (res) =>   {
            let data='';
            res.on('data', (chunk) =>
                   {
                       data += chunk;
                   });
            res.on('end', () =>
                   {
                       ... do some stuff with the result of the SOAP request ...

                       my_external_array.concat (myData);
                   });
        });

        var om_req={
            'CT_Get' : {
                ...some extra stuff...
                'target': this_target
                ...some extra stuff...
            }
        };

        var builder=new xml2js.Builder();

        var om_req_xml=builder.buildObject(om_req);

        req.write(om_req_xml);

        req.end();   
    }

わかった

コールバックのため、このループの外でデータを取得できないことはわかっています。

不思議なことに (またはそうではありません)、console.log(my_external_array)直後にを追加するmy_external_array.concat (myData);と、スクリプトは各処理の後にアイテムを追加することを示しますconsole.log... (

これらすべてのリクエストを処理し、結果を配列に結合して別の関数に渡すには、これが最善の方法です。このリクエストからのすべての値を要約して、要約した結果をデータベースに保存する必要があります

私が何をしているかについて詳しくなくて申し訳ありません...

4

1 に答える 1