如何将所有Twilio消息媒体链接存储到一个数组中?
我目前的实现是
exports.handler = function(context, event, callback) {
//...
var mediaUrls = [];
for (var i = 0; i < event.NumMedia; i++) {
var m = eval("(typeof event.MediaUrl"+i+" !== 'undefined')? event.MediaUrl"+i+" : ''");
if (m !== '') mediaUrls.push(m);
}
//...
}
但是使用eval
不是一个好的做法,因为
eval可能有害。
是否有其他解决方案可以在不使用eval
的情况下做到这一点?
这里是Twilio开发人员的传道者。
您可以使用方括号表示法,而不是使用eval
和点表示法来调用每个媒体URL。因此,你可以做以下事情:
var mediaUrls = [];
for (var i = 0; i < event.NumMedia; i++) {
if (typeof event["MediaUrl"+i] !== 'undefined') {
mediaUrls.push(event["MediaUrl"+i]);
}
}
如果这有帮助,请告诉我。