Les promesses sont une tactique de calcul différé, adaptée à plusieurs styles de concurrence: la concurrence des threads et des boucles d'événements pour le calcul local, et la messagerie distante synchrone et asynchrone. Une promesse représente le résultat éventuel d'une opération asynchrone. La principale façon de travailler avec les promesses consiste à utiliser une méthode qui enregistre les transformations de la valeur éventuelle de la promesse ou de la raison d'échec à une nouvelle promesse.