将所有Twilio消息媒体链接存储到一个数组中



如何将所有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]);
}
}

如果这有帮助,请告诉我。

最新更新