使用 axios 从 twilio 运行时获取实时 json 数据
get real-time json data from twilio runtime with axios
我正在尝试通过 twilio 无服务器功能实现实时数据。我正在使用稍微编辑过的样板函数 bit.What 我想要的是服务器中的 json 数据和连续呼叫中的语音响应。但是以下代码没有向服务器发送 json 数据。
const axios = require('axios');
exports.handler = function (context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
twiml.say('you are welcome ');
const instance = axios.create({
baseURL: 'http://fafc4eac4162.ngrok.io/',
timeout: 3000,
});
instance
.post('/test', {
id: 1,
title: 'Twilio'
})
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
return callback(error);
});
return callback(null, twiml);
};
显示如下错误,但如果我不使用语音响应回调 return callback(null, twiml) 而是使用简单的 return callback(null, response.data);
{"message":"timeout of 3000ms exceeded","name":"Error","stack":"Error: timeout of 3000ms
exceeded\n at createError (/var/task/node_modules/axios/lib/core/createError.js:16:15)\n
at RedirectableRequest.handleRequestTimeout
(/var/task/node_modules/axios/lib/adapters/http.js:280:16)\n at Object.onceWrapper
(events.js:286:20)\n at RedirectableRequest.emit (events.js:198:13)\n at
Timeout._onTimeout (/var/task/node_modules/follow-redirects/index.js:166:13)\n at
ontimeout (timers.j...
return callback(null, twiml);
应该在 .then
块中。
.then((response) => {
console.log(JSON.stringify(response.data));
return callback(null, twiml);
})
此外,该错误表明已达到 3000 毫秒超时,您的应用程序是否返回 200-OK?
我正在尝试通过 twilio 无服务器功能实现实时数据。我正在使用稍微编辑过的样板函数 bit.What 我想要的是服务器中的 json 数据和连续呼叫中的语音响应。但是以下代码没有向服务器发送 json 数据。
const axios = require('axios');
exports.handler = function (context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
twiml.say('you are welcome ');
const instance = axios.create({
baseURL: 'http://fafc4eac4162.ngrok.io/',
timeout: 3000,
});
instance
.post('/test', {
id: 1,
title: 'Twilio'
})
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
return callback(error);
});
return callback(null, twiml);
};
显示如下错误,但如果我不使用语音响应回调 return callback(null, twiml) 而是使用简单的 return callback(null, response.data);
{"message":"timeout of 3000ms exceeded","name":"Error","stack":"Error: timeout of 3000ms
exceeded\n at createError (/var/task/node_modules/axios/lib/core/createError.js:16:15)\n
at RedirectableRequest.handleRequestTimeout
(/var/task/node_modules/axios/lib/adapters/http.js:280:16)\n at Object.onceWrapper
(events.js:286:20)\n at RedirectableRequest.emit (events.js:198:13)\n at
Timeout._onTimeout (/var/task/node_modules/follow-redirects/index.js:166:13)\n at
ontimeout (timers.j...
return callback(null, twiml);
应该在 .then
块中。
.then((response) => {
console.log(JSON.stringify(response.data));
return callback(null, twiml);
})
此外,该错误表明已达到 3000 毫秒超时,您的应用程序是否返回 200-OK?