Sobes.tech
Senior

Asinxron API nədir, nə üçün istifadə olunur və necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Asinxron API, çağıran axinni bloklamadan əməliyyatların yerinə yetirilməsinə imkan verir, bu da xüsusilə uzun və ya şəbəkə sorğuları üçün faydalıdır. Bu, tətbiqlərin cavabvermə qabiliyyətini və resursların səmərəli istifadəsini artırır.

Go-da asinxronluq adətən goroutine və kanallar vasitəsilə həyata keçirilir. Əməliyyatın tamamlanmasını gözləmək əvəzinə, funksiya paralel olaraq işləyən goroutine başlatır və nəticə kanal və ya callback vasitəsilə ötürülür.

Kanal istifadə edərək asinxron çağırış nümunəsi:

func asyncOperation(resultChan chan<- string) {
    // uzun əməliyyatın simulyasiyası
    time.Sleep(2 * time.Second)
    resultChan <- "hazır"
}

func main() {
    resultChan := make(chan string)
    go asyncOperation(resultChan)

    // digər tapşırıqlar yerinə yetirilə bilər
    fmt.Println("Nəticəni gözləyir...")

    result := <-resultChan
    fmt.Println("Nəticə:", result)
}

Bu şəkildə, asinxron API əsas axını bloklamadan çoxsaylı əməliyyatları eyni vaxtda idarə etməyə imkan verir.