我正在编写一个 javascript 函数来用嵌入代码替换 url(例如,带有 youtube 视频的 youtube url)。我正在考虑将 String.replace() 与以下回调一起使用:
function replacer(match) {
if (isYoutubeLink()) {
return getYoutubeEmbedCode();
}
// repeat for other types of urls
}
但是,由于 getYoutubeEmbedCode() 进行了 oembed api 调用,因此它是异步的,无法返回值。我将如何替换所有网址?
编辑:在用代码替换 url 后,我还需要创建一个新节点,以便视频显示为实际视频,而不仅仅是 html 文本。我认为这意味着我还需要知道所有异步任务何时完成。