Heim  >  Artikel  >  Web-Frontend  >  Wie gehe ich mit asynchronen Rückrufen mit Await um?

Wie gehe ich mit asynchronen Rückrufen mit Await um?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 05:46:27923Durchsuche

How to Handle Asynchronous Callbacks Using Await?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn