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
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
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist, weil Sie nicht verwenden können
await
es sei denn, es ist in einemasync
Funktion.Sehen Sie diesen link für details:
"auf Unerwartete identifier' auf Node.js 7.5
array.forEach(item => { x = await ... })
nennen, das ist natürlich eine Funktion, also musste ich es machen, async:array.forEach(async item => { x = await ... })
InformationsquelleAutor Sameh Sharaf