ES6 Knoten async/await unerwartete identifier

Ich habe den folgenden code, der funktionierte beim laufen gegen babel. Nun, ich bin mit der harmony bekomme ich die folgende Fehlermeldung:

let adResult = await ad.isUserValid(domainPath, password);
^^
SyntaxError: Unexpected identifier

Die folgenden Klasse-Funktion:

class ActiveDirectoryHelper {
    constructor(options) {
        this.config = options.config
        this.ad = null;
    }

    connect() {

        var config = {
            url: this.config.url,
            baseDN: this.config.baseDN,
            attributes: this.config.attributes
        };

        if (this.config.account.user.length > 0) {
            config.username = this.config.account.user;
            config.password = this.config.account.password;
        }

        this.ad = new ActiveDirectory(config);
    }

    async isUserValid(user, password) {
        return new Promise((resolve, reject) => {

            this.ad.authenticate(user, password, (err, auth) => {
                if (err) {
                    reject({
                        code: 500,
                        message: "Unknown authentication error",
                        entry: {}
                    });
                }

                if (auth) {
                    resolve({
                        code: 200,
                        message: "OK",
                        entry: {
                            user: user,
                            password: password
                        }
                    });

                } else {
                    reject({
                        code: 400,
                        message: "Authentication failed",
                        entry: {}
                    });

                }

            });
        });
    }
...

exports.ActiveDirectoryHelper = ActiveDirectoryHelper;

Verwende ich die Klasse wie folgt:

const ad = new ActiveDirectoryHelper({
    config: adConfig
});
ad.connect();

const domainPath = domain.length > 0 ? `${domain}\\${user}` : user;
const adResult = await ad.isUserValid(domainPath, password);

Ich den code ausführen mit folgenden Parametern:

node --harmony --use_strict --harmony-async-await user.js <my parameters>

Wenn ich den erwarten beim Aufruf der Methode:

const adResult = ad.isUserValid(domainPath, password);

dann glaube ich nicht, habe den Fehler aber auch nicht warten, bis die Methode abgeschlossen ist.
Ich habe den Fehler gegoogelt und es scheint Ihr nur in der Lage zu verwenden Sie erwarten, innerhalb einer Funktion, async in. Aber ohne zu erwarten, die außerhalb der Methode nennen, es nicht warten, bis es beendet ist. Irgendwelche Ideen?

welche version von node verwenden Sie?
Es klingt wie Sie verwenden eine alte version des Knotens. Jede version von Node 4.3 weiter unterstützen sollte, das let-Schlüsselwort.
Sie Jungs sind Recht wechselte ich Computer, dass ich gedacht hatte, die neueste version 7. Einmal habe ich aktualisiert, es es gearbeitet. Danke für den Tipp
Mögliche Duplikate von "auf Unerwartete identifier' auf Node.js 7.5

InformationsquelleAutor adviner | 2017-02-02

Schreibe einen Kommentar