未定义文件对象NuxtJS AsyncData()

时间:2019-07-19 18:14:48

标签: javascript node.js nuxt.js

我正在使用NuxtJS的AsyncData方法从API提取视频文件,然后作为文件对象返回页面。

像这样:

async AsyncData({$axios}){
    var user_video = null;
    try{
        var video = $axios.get("my awesome url");
        user_video = new File([video], "video.mp4",{type:"video/mp4"}); // <= this line
    }catch(error){
        console.log(error);
        console.log("no saved video");
    }

    return {user_video};
}

在服务器端控制台中,它显示此错误:

ReferenceError: File is not defined
    at asyncData (pages/send/video.js:155:11)
    at process._tickCallback (internal/process/next_tick.js:68:7)
no saved video

我查看了其他要使用的nuxtjs Content键,这些键可能与创建新的File Object有关,但我没有找到任何键。 https://nuxtjs.org/api/context

尽管我什么都没找到,但我尝试使用asyncdata中的File对象来搜索类似的错误。

有什么建议吗?

编辑----也要添加:

我要从中获取的URL会出现一个下载对话框,以防可能与之相关。

1 个答案:

答案 0 :(得分:0)

asyncData在第一次加载时在服务器上执行。并且在服务器上,节点中没有诸如File之类的东西。因此,您不能在服务器代码上使用文件。

您应该不使用File或不使用asyncData并使用挂接的钩子来获取和设置数据。