gpt4 book ai didi

javascript - 如何将回调数据传递给 koa ctx.body?

转载 作者:行者123 更新时间:2023-12-01 15:28:11 24 4
gpt4 key购买 nike

我正在使用带有 nodejs 的 Typescript。我有 callback function当我控制台时,我将数据作为正文中的对象。我想在 ctx.body 的数据键中传递数据.我可以推一下吗object在其他 variable然后传递给 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
}
});

最佳答案

您可以将您的回调样式转换为 promise 并这样做

const options = {
"url": "",
"method": "POST",
"auth": {
"user": "",
"pass": ""
}
};

function makeCall() {
return Promise((resolve, reject) => {
request(options, (error, response, body) => {
if (response) {
resolve(body);
} else {
reject(error);
}
});
});
}

makeCall
.then(body => {
ctx.body = {
"data": body // I want data here
};
});



请注意,不再维护请求,因此最好使用一些现代软件包,例如 gotaxios .

关于javascript - 如何将回调数据传递给 koa ctx.body?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59810407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com