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>' +
...
)