Atheist21, потому что return p; - это возврат не из promiseRace, а из (p) => {...} и дальше это значение никуда не возвращается.
В любом случае нужно возвратить промис, который резолвнется при первом резолве, если я все правильно понял.Если не использовать промис, то поломается и ничего не вернется.
Владимир Голубь, то, что нужно какие-то размеры вычислять - только сейчас было сказано. Можно, например в самом компоненте вычислять его размеры (без query selector, а через $el) и эмитить их в родителя.
Но ведь при любом изменении данных возможно изменение этих самых размеров. Так что лучше от этого избавиться.
Очень часто можно переписать верстку таким образом, чтобы размеры были не нужны.
Много вариантов, выбирать из которых нужно, когда известная вся задача.
sasha_jarvi, ну так добавьте в вашу форму input[type="hidden"] с name="_token" и значением csrf_token(), ну или добавьте эти данные в отправляемые данные, если передача идет через ajax.
Mikhail Brazhnik, нет, в обоих случаях функция выполнится сразу (причем еще до вызова console.log и setTtimeout), а затем результат уже будет передан в соответствующий метод. Различия нет.
Mikhail Brazhnik, Вообще нет разницы. консоль выведет результат функции, таймаут вызовет результат функции. Поведение, связанное с передачей параметра вообще одинаковое. Достаточно немного модифицировать пример:
Результат выполнения, естественно, разный - это же разные функции.
Ничего не мешает func() возвратить функцию, которая выполнится по наступлению таймаута.
И чем, по вашему, setTimeout отличается от любых других функций, типа console.log(func())?