Ich habe ein Eingabefeld. Nachdem der Benutzer die Eingabe beendet hat, möchte ich eine HTTP-Anfrage durchführen und auf die Ergebnisse warten.Wie kann ich mit async/abwarten entprellen?
Da Netzwerk-Anfragen nicht auf jsbin erlaubt sind, habe ich setTimeout()
stattdessen verwendet.
var log = console.log.bind(console)
var delayedResults = new Promise(function(resolve) {
setTimeout(function(){
resolve('Wooo I am the result!')
}, 3000);
});
document.querySelector('input').addEventListener('input', _.debounce(async function(){
log('Doing search')
var result = await delayedResults
log('Result is', result)
}), 500);
Jedoch, wenn ich in das Feld eingeben, ‚Suche Doing‘ erscheint sofort jedes Zeichen - ich will es nur erscheinen, nachdem die 500 ms abgelaufen ist.
Wie kann ich Entprellen und warten?
Ooh subtil! Ich glaube, es ist an Linting vorbeigegangen, also habe ich es nicht bemerkt. Vielen Dank! – mikemaccana