staging.inyokaproject.org

Asynchronous Soup calls in a loop

Status: Ungelöst | Ubuntu-Version: Ubuntu GNOME 16.04 (Xenial Xerus)
Antworten |

albrechtmyers

Anmeldungsdatum:
13. Februar 2020

Beiträge: Zähle...

Folgendes habe ich:

_httpSession = new Soup.Session();

let token = 'sometoken'
let url = 'someurl';
let _allData = [];
let elements = [1,2];

for (let el of elements) {
    let message = Soup.form_request_new_from_hash('GET', url + el, { access_token: token });
    _httpSession.queue_message(message, () => {
        if (message.status_code != Soup.KnownStatusCode.OK) {
            _error(message.status_code.toString());
        }
        try {
            message = JSON.parse(message.response_body.data).items;
        } catch (e) {
            _error(e.toString());
        }
        _allData = _allData.concat([el, message]);
    });
}

Wie kann man angesichts der asynchronen Aufrufe in einer for-Schleife oben sicherstellen, dass _allData.concat () für alle Iterationen ausgeführt wurde? Ich möchte die Variable _allData ausdrucken, aber nur, wenn Verkettungen für jedes el ausgeführt wurden.

Moderiert von sebix:

Thema in einen passenden Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“) in jedem Forenbereich. Danke.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

albrechtmyers schrieb:

Folgendes habe ich […]

Welche Programmiersprache ist das denn?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

kB schrieb:

albrechtmyers schrieb:

Folgendes habe ich […]

Welche Programmiersprache ist das denn?

JavaScript?

Antworten |