好,所以这是我正在使用的函数,让行给我这个错误:
SyntaxError:缺少参数列表后的
function buildLogRetrieval(jobID, taskID) {
var div = document.createElement("div")
var but = $(div).clone(true).css({
"padding": "5px",
"background": "black",
"border-radius": "5px",
"color": "white"
})
logButtons = ["log"]
finishedButtons = []
for (b in logButtons) {
lt = logButtons[b]
console.log(lt)
t = but.clone(true).text(lt)
$(t).on('click', function() {
let l = JSON.parse(await getTaskLogs(jobID, taskID, lt))
console.log("click")
})
finishedButtons.push(t)
}
return finishedButtons
}
如果我将这一行注释掉,代码处理就很好了,但是我似乎无法弄清楚该行中的错误。
答案 0 :(得分:1)
您正在使用await
,而没有异步上下文。试试这个:
function buildLogRetrieval(jobID, taskID) {
var div = document.createElement("div")
var but = $(div).clone(true).css({"padding":"5px", "background":"black", "border-radius":"5px", "color":"white"})
logButtons = ["log"]
finishedButtons = []
for(b in logButtons) {
lt = logButtons[b]
console.log(lt)
t = but.clone(true).text(lt)
$(t).on('click', async function() {
let l = JSON.parse(await getTaskLogs(jobID, taskID, lt))
console.log("click")
})
finishedButtons.push(t)
}
return finishedButtons
}
有关进一步的说明,请阅读this。
答案 1 :(得分:1)
您正在使用await,而没有async
关键字
await运算符用于等待Promise。它只能在异步函数中使用。
$(t).on('click', async function() {
let l = JSON.parse(await getTaskLogs(jobID, taskID, lt))
console.log("click")
})
答案 2 :(得分:1)
假设您的环境支持异步/等待,则您的点击处理程序必须为异步才能使用等待。
更改
$(t).on('click', function() {
收件人
$(t).on('click', async function() {
答案 3 :(得分:1)
您得到的错误正好在await getTaskLogs
中,要解决该错误,您的代码应如下所示:
$(t).on('click', async function() {
let l = JSON.parse(await getTaskLogs(jobID, taskID, lt))
console.log("click")
})
await
函数中只能有async
。
答案 4 :(得分:0)
这是引起错误的行吗?
let l = JSON.parse(await getTaskLogs(jobID, taskID, lt))
如果是这样,则有两个可能的问题:
1)您正在不支持异步/等待的环境中运行(这是javascript的一项相当新的功能)
2)或抱怨您在非异步函数中使用过等待状态