Допустим, у меня есть этот код:
const myFunction = async => {
const result = await foobar()
}
const foobar = async () => {
const result = {}
result.foo = await foo()
result.bar = await bar()
return result
}
И я хочу это:
const myFunction = () => {
const result = foobar()
}
Я пытался обернуть foobar так:
const foobar = async () => {
return (async () => {
const result = {}
result.foo = await foo()
result.bar = await bar()
return result
})()
}
Но это все равно возвращает обещание
Я не могу использовать .then в myFunction , мне нужен этот foobar вместо результата возвращается переменная результата.
Проблема в том, что myFunction является асинхронной функцией и возвращает обещание, но должно возвращать неопределенное значение. Мне нужно избавиться от асинхронности в myFunction .
Редактировать: как сказал Себастьян Спейтель, я хочу преобразовать myFunction в синхронизацию
Редактировать 2: в Shilly, я использую ночные часы для end2endtest, nightwatch вызовет myFunction () , если при выполнении функции не будет ошибок, она будет работать идеально, если возникнет ошибка, то виртуальные машины nightwatch будут работать вечно, вместо остановки, эта проблема возникает, если вызываемыйфункция асинхронная.