Javascript 从HTML装载中调用异步函数

Javascript 从HTML装载中调用异步函数,javascript,promise,Javascript,Promise,因此,我必须将函数转换为异步,现在我无法调用它而不出错。这项工作: $('#my-obj').html( '<li>' + '<a href="#"></a>' + myFunction("parameter") + '<i class="fa fa-arrow-left"></i>' + ... ) 问题是:它正在工作,但返回了被承诺包裹的字符串。所以我试着去做我目前正在做的事情: $('#my-obj').

因此,我必须将函数
转换为异步
,现在我无法调用它而不出错。这项工作:

$('#my-obj').html(
'<li>' +
   '<a href="#"></a>'
   + myFunction("parameter") +
   '<i class="fa fa-arrow-left"></i>' +
   ...
)
问题是:它正在工作,但返回了被
承诺包裹的字符串。所以我试着去做我目前正在做的事情:

$('#my-obj').html(
'<li>' +
   '<a href="#"></a>'
   + await myFunction("parameter") +
   '<i class="fa fa-arrow-left"></i>' +
   ...
)  
$('my obj').html(
“
  • ”+ '' +等待myFunction(“参数”)+ '' + ... )
  • 不起作用。它表示该行中有无效字符。

    如何进行此操作?

    您只能在
    异步
    函数中使用
    等待
    。使用
    async
    功能,它可以:

    异步函数myFunction(x){ 返回x.toUpperCase(); } (异步()=>{ $('#my obj').html( “
  • ”+ '' +等待myFunction(“参数”)+ '' + “
  • ” ); })() .catch(错误=>{ //处理错误 });

      太棒了!谢谢你的解释。您确定异步函数的结尾正确吗?我犯了一些错误。捕捉之前的最后一个
      ()
      是什么?@PlayHardGoPro-调用函数。这是一个使用箭头函数的立即调用函数表达式(IIFE)。由于该函数是一个
      async
      函数,因此它的返回值是一个承诺(这就是为什么我在它上面有
      .catch
      )。
      $('#my-obj').html(
      '<li>' +
         '<a href="#"></a>'
         + await myFunction("parameter") +
         '<i class="fa fa-arrow-left"></i>' +
         ...
      )