Вы можете заключить возможное обещание в Promise.resolve
и использовать .then
на нем
Promise.resolve(matchPromise).then(
match=>{
if(match){...
}
)
Чтобы уточнить: вы не можете прочитать обещание синхронно, ваши единственные варианты для обещания - использовать .then
или async/await
. Есть способ превратить синхронное значение (в вашем случае undefined
) в обещание с Promise.resolve
(в вашем случае обещание неопределено).
Так что теперь уже не имеет значения, является ли matchPromise
обещанием или нет, потому что вы убедитесь, что оно выполнено, а затем обработаете его в .then
, который либо даст вам разрешенное значение, либо значение undefined
, либо путь; результат оператора if тот же.