WebDriverJS и Protractor полностью основаны на концепции promises:
API-интерфейсы WebDriverJS (и, следовательно, Protractor) полностью асинхронны. Все функции возвращают promises. WebDriverJS поддерживает очередь ожидающих promises, называемых элементами управления чтобы сохранить выполнение.