Хей, страхотна статия, не бях се задълбочавал в дълбочината на планирането на асинхронни повиквания като това преди - излизането отвъд елементарното използване на обещания едно по едно изисква малко разбиране и мисля, че го обяснихте добре с различни етапи от вашия рефакторинг.

Едно нещо, което ме обърка, беше във вашия предпоследен пълен пример, че имате асинхронна функция, дефинирана във външната функция:

асинхронна функция hireSoupChefWithSoupRecipe(_soupRecipePromise) ….

Всъщност никога не се обаждаш на това, вместо това си мисля, когато по-късно се обаждаш

_hireSoupChef(soupRecipePromise)
искате да напишете:
hireSoupChefWithSoupRecipe(soupRecipePromise)’

Това би било полезно за актуализиране, моля, съжаляваме, ако форматирането на това е ужасно...