我正在使用TypeScript和Node.js。我有一个回调函数并且当我使用console.log时,以对象的形式获取数据。我想将数据传递给
ctx.body
的 data 键。我可以将该对象推入其他变量中然后传递给 ctx.body
吗?router.post('/api/send_otp', async (ctx: Koa.Context, next: () => Promise<any>) => {
var phone = ctx.request.body.phone;
if (!phone) {
ctx.body = {
message: "Please enter phone number",
};
} else {
var options = {
url: '',
method: 'POST',
auth: {
'user': '',
'pass': ''
},
};
const callback = function(error, response, body) {
if (response) {
console.log(body); // Getting data here
}else{
console.log('error',error);
}
};
request(options,callback);
ctx.body = {
data: body, //I want data here
}
});
request
转换成一个 Promise 风格的函数,这样你就可以使用await
。在使用 koa 时,你应该在一个async
函数内部。对于旧版本的 koa,请使用yield
。 - Luxkoa
代码吗? - Lux