Obietnica () – jest to konstrukcja programistyczna występująca m.in. w języku JavaScript. Jest to obiekt, który zawiera wynik jakiejś operacji, która może zakończyć się w dowolnym czasie. Obietnice służą do tworzenia asynchronicznego kodu. Obietnice zostały dodane do wersji ES6 (ES2015) standardu ECMAScript.

Przykłady

JavaScript

var p = new Promise(function(resolve, reject) { setTimeout(function() { resolve("hello promise"); }, 1000); });

p.then(function(value) { alert(value); }).catch(function() { alert("coś poszło nie tak"); });

W powyższym przykładzie do konstruktora przekazana jest funkcja, gdzie w dowolnym momencie może zostać wywołana jedna z funkcji resolve lub reject, które zrealizują obietnicę lub ją odrzucą. Powyższy przykład po jednej sekundzie wyświetli komunikat „hello promise”. Gdyby wewnątrz funkcji wywołano reject, wywołana by była funkcja catch.

R

library(magrittr) # import %>% operator

future::future({ res <- httr::GET("http://httpbin.org/get") httr::content(res, as="parsed") }) %>% promises::then(function(data) { print(data) })

W języku R do tworzenia obietnic stosuje się pakiety future oraz promises. Istnieje kilka alternatywnych sposobów obsługiwania obietnic z tymi pakietami.

Przypisy

Kategoria:Programowanie komputerów