Then выполняется раньше When

186
21 июля 2021, 19:20

я имею код файл feature:

  Scenario: 1
    Given Start
    When Do something
    Then Show result

и js файл:

Given(/^Start$/, function () { 
    console.log("start") 
}); 
 
When(/^Do something$/, function (className) { 
     setTimout(()=>{ 
      let a=1+2 
      console.log(1+2)       
     }, 1000) 
}); 
 
Then(/^Show result$/, function () { 
     console.log("end")        
});

Как мне переделать код чтобы увидеть 3 раньше чем еnd?

Answer 1

Given(/^Start$/, function () {
    console.log("start")
});
When(/^Do something$/, async function (className) {
     let p = await new Promise((resolve, reject) => {
        setTimeout(() => {
        resolve( 1+ 2);
      }, 2000);
   });
   console.log(p);
});
Then(/^Show result$/, function () {
     console.log("end")       
});

По таймингам в консоли видно что прошло 2 секунды

READ ALSO
Выделение и удаление полигонов на canvas

Выделение и удаление полигонов на canvas

Есть задача позволить пользователю выборочно выделять и удалять полигоны которые он рисуетПроблема 1: как выделить нужный полигон из возможного...

476
Проблема с логированием (log4js) в TypeScript

Проблема с логированием (log4js) в TypeScript

Решил изучать TypeScript; дошел до логовИмея опыт разработки в Java, выбор пал на библиотеку log4js

248
Yandex map CustomControl

Yandex map CustomControl

Подскажите, как к этому примеру прикрутить подписку на событие, например клик по кастомному контролу? Можно конечно в HTML написать, но это...

173
React Css Modules Каскад

React Css Modules Каскад

Всем приветПытаюсь понять как работаю css модули для вложеных компонентов

112