Ich möchte eine synchrone POST-Anfrage von der Client-Seite senden. Gemäß der Dokumentation können wir die 'async' benannten Parameter verwenden:Dart: Synchron Post-Anfrage
https://www.dartlang.org/articles/json-web-service/#saving-objects-on-the-server
var url = "http://127.0.0.1:8080/programming-languages";
request.open("POST", url, async: false);
Aber das obige Beispiel führt den folgenden Syntaxfehler:
Die Schlüsselwörter 'async', 'erwarten' und "yield" darf nicht als Bezeichner in einer asynchronen oder Generatorfunktion verwendet werden.
Wie kann ich eine synchrone POST-Anfrage senden?
UPDATE (27. Mai 20.23)
fand ich eine Abhilfe dieses Problem zu lösen:
Future<String> deleteItem(String id) async {
final req = new HttpRequest()
..open('POST', 'server/controller.php')
..send({'action': 'delete', 'id': id});
// wait until the request have been completed
await req.onLoadEnd.first;
// oh yes
return req.responseText;
}
Aber ich habe nicht die obige Lösung gefällt, weil es nicht scheint elegant genug.
Das war ein Problem, das von Perl gelöst vor 25 Jahren, indem sigils auf allen Daten, erlaubt Rückwärtskompatibilität, indem es gleichzeitig '$ print' und' print' erlaubt, so dass neue Schlüsselwörter niemals mit alten Variablennamen in Konflikt geraten würden. Sigils waren aus einem bestimmten Grund da, Leute. –
Perl hat auch ein paar neue Probleme eingeführt ;-) –