我正在为我的网站制作支付网关,但我的调试器有问题。即使我已经使用async
了等待,即使某些特定的行是异步执行的,但是当另一个函数出现时它会运行同步。为了更好地理解,请查看下面提到的实际代码
这是我的 app.js 文件
app.post('/pay', 异步函数(req,res){
let response = await orderApi.pay(req.body) // First debugger goes here (1)
res.json(response) // (need this line to be executed when pay function is completed) (4)
console.log(response)
这是我的订单 API 文件
exports.pay = async function (body) {
var headers = { //then here debugger comes (2)
'X-Api-Key': 'test_d5f178f6f910a5ec48a429d540d',
'X-Auth-Token': 'test_f3f32cda3a7aafc2a188579530f'
}
var payload = {
purpose: body.purpose,
amount: body.amount,
phone: body.phone,
buyer_name: body.buyer_name,
}
request.post('https://test.instamojo.com/api/1.1/payment-requests/', { form: payload, headers: headers }, function (error, response) { // (3) !!!
var parsed = JSON.parse(response.body); // then it does not goes here then it goes back in app.js file (5)
var redirectu = parsed.payment_request.longurl (6)
return redirectu
})
}
我不明白是什么问题,请帮我弄清楚//记住点(1),(2)..它们是我的调试器所在的数字