TypeScript
Ukurasa huu umetafsiriwa kutoka Kiingereza. Ikiwa hizi mbili zinatofautiana, ukurasa wa Kiingereza ndio sahihi. Soma ukurasa wa Kiingereza
Maktaba ya TypeScript ni kifurushi cha @lingara/api kwenye npm. Inaendeshwa kwenye Node.js 22 au toleo jipya zaidi, haina utegemezi wowote wakati wa utekelezaji, na inakuja na ufafanuzi wa aina kwa kila ombi, jibu na tukio la mtiririko.
Mahali inapoendeshwa
Ni maktaba ya upande wa seva. Hakuna toleo la kivinjari, na mteja hukataa siri ya mteja anapojikuta ndani ya ukurasa: siri ya mteja kwenye kivinjari ni siri iliyochapishwa, inayosomeka na yeyote anayefungua ukurasa. Ita API kutoka kwenye seva yako mwenyewe na uwatumie watumiaji wako kile tu wanachohitaji.
Jinsi inavyotumika
- Kila mwito hurudisha promise. Pitisha
{ signal }pamoja naAbortSignalili kughairi mwito; kisha mwito hukataliwa kwa sababu ya ishara yenyewe. - Mtiririko ni kitu kinachorudiwa kwa njia isiyosawazishwa, kinachosomwa kwa
for await. Ni wa kuchelewa: ombi hutumwa unapoomba tukio la kwanza. - Hitilafu hurithi
LingaraError, kwa hivyo ukaguzi mmoja wainstanceofunanasa zote nne. Kila moja hubebaretryAfterwakati API ilitaja muda wa kusubiri. - Ili kutumia mfumo wako mwenyewe wa HTTP, pitisha kitendakazi cha
fetchkwenye chaguo. Muda wa kusubiri wa mtiririko uliotulia bado unatumika.
Sampuli zilizo hapa chini husakinisha kifurushi, huunda mteja, hutiririsha orodha ya msamiati na hushughulikia hitilafu.
TypeScript
npm install @lingara/api@0.1.0-alpha.6TypeScript
import { Lingara } from "@lingara/api";
const client = new Lingara({
clientId: process.env.LINGARA_CLIENT_ID!,
clientSecret: process.env.LINGARA_CLIENT_SECRET!,
});TypeScript
const stream = client.generateVocabulary({ level: 2, source_lang: "en", target_lang: "zh", count: 8 });
for await (const ev of stream) {
if (ev.event === "item") console.log(ev.data.word, ev.data.translation);
}TypeScript
import { ApiError, MaintenanceError, OAuthError, TransportError } from "@lingara/api";
try {
await client.getUsage();
} catch (e) {
if (e instanceof ApiError) {
// A refusal from the API: e.status, e.code (stable) and e.message (localised).
console.error(e.status, e.code, e.message, e.retryAfter ?? "");
} else if (e instanceof OAuthError) {
// The token endpoint refused the credentials or the scopes.
console.error(e.status, e.error, e.description ?? "");
} else if (e instanceof MaintenanceError) {
console.error("under maintenance; retry after", e.retryAfter ?? "a while");
} else if (e instanceof TransportError) {
// No usable answer: connect, tls, reset, timeout, and so on.
console.error("transport:", e.kind);
} else {
throw e;
}
}