所以我不得不打开一个函数async
,现在我不能在没有错误的情况下调用它。这是可行的:
$('#my-obj').html(
'<li>' +
'<a href="#"></a>'
+ myFunction("parameter") +
'<i class="fa fa-arrow-left"></i>' +
...
)
将我的函数设为异步:
async function myFunction() {
//Do some stuff
return myString;
}
问题是:它可以正常工作,但返回的字符串是用promise
包装的。因此,我尝试做到目前为止的事情:
$('#my-obj').html(
'<li>' +
'<a href="#"></a>'
+ await myFunction("parameter") +
'<i class="fa fa-arrow-left"></i>' +
...
)
不起作用。它说该行上有无效字符。
如何进行这项工作?
答案 0 :(得分:1)
您只能在await
函数中使用async
。通过async
函数,它可以工作:
async function myFunction(x) {
return x.toUpperCase();
}
(async () => {
$('#my-obj').html(
'<li>' +
'<a href="#"></a>'
+ await myFunction("parameter") +
'<i class="fa fa-arrow-left"></i>' +
'</li>'
);
})()
.catch(error => {
// Handle error
});
<ul id="my-obj"></ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>