首页 > 解决方案 > 未处理的拒绝(TypeError):URL 不是构造函数

问题描述

我使用了 API 并更新了我的状态,所以现在我有一个名为 animals 的对象,其中包含来自 API 的函数:

animals = {
bird: randomBird(),
cat: randomCat(),
dog: randomDog(),
ect...
}

例如,randomCat() 函数如下所示:

function randomCat() {

        var request = async () => { 
            var res = await get('https://aws.random.cat/meow'); 
            if (res.ok) {
                return res.body;
            } else { 
                console.error(`An error occured: ${res.error}`);
            }
        }

        var url = request().then(body => body.file);
        return url; 
}

所以我想使用这个函数来获取一个 url。

现在,如果我尝试这样称呼它:

const cat = this.state.animals.cat;
cat();

我明白了Unhandled Rejection (TypeError): URL is not a constructor.

但是当我检查 typeof cat 时,我知道它是一个函数,那么我该如何调用它呢?

标签: reactjsapiconstructor

解决方案


推荐阅读