Kisa `async/await` ye e kijan li diferan de `.then()`?

poze 5 months ago123 gadeht

7

Mwen wè de fason pou ekri kòd asenkron:

fetch(url).then(r => r.json()).then(data => console.log(data));

ak

const r = await fetch(url);
const data = await r.json();

Èske se menm bagay la? Kiyès mwen ta dwe itilize?

Dyagnostik IA

Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.

poze 5 months ago

3 Repons

9
✓
✓ Repons yo aksepte

Wi, se menm bagay la anba kapo a: async/await se yon fason pi pwòp pou ekri kòd ki itilize Promise. await jis tann Promise la fini epi ba ou rezilta a.

Diferans prensipal yo:

1. Lizibilite: await fè kòd la li tankou kòd nòmal, liy pa liy. 2. Jesyon erè: ak await ou itilize try/catch:

async function chaje() {
  try {
    const r = await fetch(url);
    if (!r.ok) throw new Error(`HTTP ${r.status}`);
    return await r.json();
  } catch (err) {
    console.error('Erè:', err);
  }
}

3. Ou ka sèvi ak await sèlman anndan yon fonksyon async (oswa nan tèt yon modil ES).

Konsèy: itilize async/await pa defo. Kenbe .then() pou ti chèn kout.

Konekte pou di lòt moun si li te mache.

answered 5 months ago
0

Fè atansyon pou pa mete await youn apre lòt lè rekèt yo pa depann youn sou lòt. Sa fè yo kouri an seri, e li pi dousman. Itilize Promise.all:

const [users, posts] = await Promise.all([getUsers(), getPosts()]);

Konekte pou di lòt moun si li te mache.

answered 5 months ago
0

Yon lòt bagay pou konnen: yon fonksyon async toujou retounen yon Promise, menm si w retounen yon valè senp. Kidonk moun ki rele l la dwe itilize await oswa .then() tou.

Konekte pou di lòt moun si li te mache.

answered 5 months ago

Sign in and verify your email to post an answer.