Async/erwarten Wurf Fehler beim Kompilieren. Im Moment benutze ich Babel mit Voreinstellungen - es2015, & plugin - transform-async-to-generator. Überprüfen Sie meinen Code untenAsync/erwarten werfen Fehler in es2015
async function verifyUserAlreadyExists(phone, email) {
try {
db.collection("users").find({
$or:{"contact_details.phone": phone, "contact_details.email": email}
}, (err, cursor)=>{
await cursor.count() >= 1;
});
}catch(err) {
console.log("Verify User Exists:"+JSON.stringify(err));
}
}
export default {
getAllUsers: (request, reply) => {
db.collection("users").find({}).toArray((err, users) => {
reply(users);
});
},
insertNewUser: (request,reply) => {
let userAlreadyExists = await verifyUserAlreadyExists("7259769413");
console.log(userAlreadyExists);
}
}
können Sie nur verwenden, 'erwarten' innerhalb' async' Funktionen. –
So wie das ist ein Rückruf, wie man es async macht? – manju4ever
Das Korrigieren des Syntaxfehlers ist einfach ('async (err, cursor) => {...}'). Die Frage ist, ob a) '.find()' eine Zusage zurückgibt und b) '.find()' kann asynchrone Rückrufe verarbeiten. Also, wie genau funktioniert die '.find' Methode? Sie können nicht einfach irgendwo eine "erwarten" einfügen oder eine Async-Funktion verwenden. Code, der die Async-Funktion aufrufen soll, muss Async-Funktionen verarbeiten können. Brauchst du da noch ein "erwarten"? Was gibt 'cursor.count()' zurück? –