Asynchrone Rückrufverarbeitung mit Await
In bestimmten Szenarien benötigen Sie möglicherweise Rückrufe wie:
test() { api.on( 'someEvent', function( response ) { return response; }); }
Asynchronität einzubeziehen. Um diese Funktion asynchron zu machen und „await“ zu verwenden, müssen Sie zunächst sicherstellen, dass die Rückruffunktion (someEvent) ein Promise zurückgibt. Dies liegt daran, dass asynchrone Funktionen auf Promises angewiesen sind, um asynchrone Vorgänge abzuschließen.
Eine überarbeitete Version von api.on():
function apiOn(event) { return new Promise(resolve => { api.on(event, response => resolve(response)); }); }
Mit dieser aktualisierten Funktion können Sie jetzt test() ändern eine asynchrone Funktion sein:
async function test() { return await apiOn( 'someEvent' ); }
Asynchrone Funktionen geben jedoch auch Versprechen zurück, sodass der tatsächliche Ergebniswert von test() ein Versprechen ist das kann innerhalb einer anderen asynchronen Funktion aufgelöst werden:
async function whatever() { // snip const response = await test(); // use response here // snip }
Das obige ist der detaillierte Inhalt vonWie gehe ich mit asynchronen Rückrufen mit Await um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!