Come aspettare una promessa di finire prima di restituire la variabile di una funzione

Come aspettare una promessa di finire prima di restituire la variabile di una funzione
Nei linguaggi di programmazione, la maggior parte delle volte potrebbe essere necessario aggiungere funzionalità diverse in un singolo programma. In tale scenario, è necessario chiamare la funzione in una coda o una sequenza specificata. Per questo, aggiungi il ritardo per un determinato tempo in millisecondi con l'aiuto del "setTimeout ()" metodo. Un altro approccio è usare le parole chiave, "asincrone" E "Aspetta"Con le rispettive funzioni.

Questo post indicherà il metodo per aspettare la promessa di finire prima che restituisca la variabile.

Come aspettare una promessa di finire prima di restituire/produrre la variabile di una funzione?

Per lo scopo menzionato, a tale scopo possono essere utilizzati vari metodi, incluso il "setTimeout ()Metodo e il "asincrone" parola chiave. Questi approcci funzionano in modo tale che la funzione attenda un po '.

Per pratico, dai un'occhiata ai metodi di seguito.

Esempio 1: utilizzare il metodo "setTimeout ()" per attendere una promessa di finire prima di restituire la variabile di una funzione
Puoi usare il "setTimeout ()"Metodo per attendere la promessa di finire prima di restituire la variabile di una funzione. In modo che la funzione definita attenda il tempo specificato. Per fare ciò, dichiarare un oggetto di tipo costante e assegnare il valore come "MS" che indica il tempo in millisecondi. Quindi, utilizza il metodo "setTimeout ()" e passa gli argomenti:

const wait = ms => new Promise (resolve => setTimeout (resolve, ms));

Successivamente, definisci una funzione con un nome particolare. In questo esempio, la funzione denominata "callbackfailure" è definito. Quindi, invoca il "console.tronco d'albero()"Metodo e passare il valore come argomento di questo metodo per visualizzare l'output sulla console:

funzione callbackFaiLure ()
console.log ("fallimento del callback");

Invocare il "Aspettare()"Metodo e impostare il tempo"5 secondi (5*1000)"Come parametro. Quindi, usa il "lancio/cattura"Affermazione in cui il"gettare"L'istruzione viene utilizzata per testare il blocco del codice di errore e l'istruzione Catch consente di gestire l'errore:

Aspetta (5*1000).Quindi (() =>
console.log ("Aspetta cinque secondi");
lanciare un nuovo errore ("errore");
)
.catch (() =>
callbackFaiLure ();
);

Ancora una volta, usa "Aspettare()"Metodo e imposta il tempo per aspettare e invocare il"console.tronco d'albero()"Metodo per stampare l'output sulla console dopo il tempo specificato:

Aspetta (3*1000).Quindi (() => console.log ("attendere tre secondi"));

Si può osservare che il tempo specificato è impostato in attesa di una promessa:

Esempio 2: usa l'approccio "Async/Wait" per attendere una promessa di finire prima di restituire la variabile di una funzione
Puoi anche utilizzare l'approccio Async/Abved per attendere una promessa di finire prima di restituire la variabile di una funzione. Questo metodo viene utilizzato quando il "setTimeout ()" non può essere determinato. Per farlo, il "asincrone"La parola chiave in JavaScript è invocata per fare una funzione asincrona. Questa funzione restituirà una promessa di risolvere la promessa o rifiutare la promessa.

Per fare ciò, utilizzare il "funzione()"E conservalo in una variabile. Quindi, utilizza la parola chiave di ritorno e invoca una nuova promessa con l'aiuto di "setTimeout ()" metodo:

var func = function ()
console.log ("funzione");
return New Promise (Resolve =>
setTimeout (function ()
risolvere ("\ t \ t prima promessa");
console.log ("promessa restituita");
, 3000);
);
;

Definire una funzione con un nome particolare e invocare la funzione asincrona con l'aiuto di "asincrone" parola chiave. Quindi, usa la parola chiave di attesa, chiama la funzione e memorizzala in un oggetto di tipo costante:

var async_function = async function ()
console.log ("funzione asincrima chiamata");
const first_promise = wait func ();
console.registro ("risultato dopo aver atteso 3 secondi");
console.log (first_promise);

Chiama la funzione da visualizzare sulla console:

async_function ()

Produzione

Si tratta di aspettare una promessa di finire prima di restituire la variabile di una funzione.

Conclusione

Per aspettare una promessa di finire prima che restituisca la variabile, il "setTimeout ()" E "asincrone/attesa"È possibile utilizzare gli approcci. Per fare ciò, la funzione definita attende un periodo di tempo specificato e visualizza l'output sulla console. Questo tutorial ha dichiarato il metodo per aspettare una promessa di finire prima che restituisca la variabile.