Обещания в JavaScript обычно включают в себя цепочки вызовов или API-интерфейсы быстрого вызова методов, где результаты функций обычно предоставляют методы продолжения, такие как with, затем, когда, whenAll и т. Д., А также некоторые флаги состояния, которые указывают, действительно ли результат доступен.Функции с входными параметрами также могут поддерживать обещанные значения, обнаруживая, что ввод является обещанием, и инкапсулируют свои функциональные возможности в поток, который можно объединить в цепочку, когда обещанное значение готово.
С их помощью вы можете создать среду, в которой обещания имитируются.параллельный язык, подобный этому:
MyApi.LongRunningTask (). then (function (result) {MyAppi.LongOtherTask (result);}). then
или последовательный сценарий использования, когда выполняется долговызовы не зависят:
var value1 = MyApi.LongRunningTask ();var value2 = MyApi.LongRunningOtherTask ();
MyApi.DoSomeFunction (value1, value2) .then ==> DoSomeFunction может проверять, готовы ли значения и, если нет, связывают их функцию then / when для выполнения своей логики.