【发布时间】:2021-10-05 18:27:56
【问题描述】:
我查看了 MDN 网络文档 article 关于异步函数,但由于某种原因它对我不起作用
这是我的代码
function createObject() {
try {
console.log("Processing POST Loan.");
var data = {
"value1" : 1288,
"value2" : [{
"value3" : 3833,
"value4": [{
"value5": new Date()
}]
}]
}
var auth = Buffer.from("login:pass").toString('base64')
const res = request("http://url.com/resource", {
method: "POST",
headers: {
'Content-Type': 'application/json',
'Authorization': "Basic "+auth
},
body: JSON.stringify(data)
}, function(error, response, body){
//console.log(response + ' '+body)
})
var response = res.body.id;
return response
}
catch(err) {
throw err
}
}
async function uploadReport() {
console.log('cerate object')
var objectId = await createObject();
console.log('object = '+objectId)
}
uploadReport()
与文章中描述的完全一样。但是当我运行我的脚本时,我得到了这个结果:
cerate object
Processing POST Loan.
'data {"value1":1288,"value2":[{"value3":3833,"value4":[{"value5":"2021-10-05T09:45:46.126Z"}]}]}'
'auth '
object = undefined
然后几秒钟没有任何反应,执行停止。 Http 请求工作正常,并且在我运行脚本时正在创建对象,尽管我没有得到任何响应(此 API 应返回自动生成的对象 ID)。我在这里做错了什么?
【问题讨论】:
标签: javascript node.js async-await