javascript中的异步/等待并发函数调用(链函数)

时间:2019-10-31 15:35:37

标签: javascript async-await

我认为我可能误会了如何使用async / await,但我一直在努力寻找一个不会兑现承诺的解决方案。

我有一个if语句,其中包含两个函数。我需要functionTwo仅在functionOne完成后才能运行。添加异步并在它们之前等待似乎不起作用,但是我不认为我有100万英里。

任何帮助都会很棒!谢谢!

@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
    AutoevaluaciónOnline
@endcomponent
@endslot
<img src="{{asset('images/aspecto-proyecto/imagen_horizontal/'.$proyecto.'/'.$nombre_banner)}}" alt="banner" width="auto">
{{--  Body  --}}
Ha finalizado con éxito el proceso de registro en el programa.


<p style="text-align: center;">{{ $proyecto }}.</p>


Acceda de nuevo utilizando el mail que nos ha indicado como usuario y la contraseña que ha asignado anteriormente.


En caso de querer restablecer la contraseña siga este enlace.


{{--  Footer  --}}
@slot('footer')
@component('mail::footer')
    © {{ date('Y')}} AutoevaluacionOnline. Todos los derechos reservados.
    <img src="{{asset($logo)}}" width="228px" height="51px">
@endcomponent
@endslot
@endcomponent

2 个答案:

答案 0 :(得分:4)

您同时使用await

if (someBoolean) {
  await functionOne();
  await functionTwo();
}
在声明函数时使用

async

async function functionOne() {... }

答案 1 :(得分:0)

异步/等待使用Promises!因此,如果您要避免承诺,那不是最好的方法。最好的选择是在第一个函数中包含回调。

function one(callback) {
  /* do your stuff here */
  if (typeof callback === 'function) {
    callback()
  }
}

function two() {/* do the second set of things here */}

if (someBoolean) {
  one(two)
}