小编Vin*_*ent的帖子

处理 Typescript 中的 Promise 捕获

我有一个基于承诺的 API 服务,它从我的后端请求数据。它还带有自己的错误捕获,因此我不必到处编写它。当它写成这样时:

后端服务.ts

...
getTasks() {
    return axios.get('/api/tasks')
        .then((response) => {
            const {
                tasks
            }: {
                tasks: tasksType
            } = response.data;
            return tasks;
        })
        .catch((error) => console.log(error));
}
...
Run Code Online (Sandbox Code Playgroud)

条目.tsx

...
const getTasks = () => {
    backendService.getTasks()
        .then((tasks: tasksType) => {
            const filteredTasksData = filterAPIDataForState(tasks);

            addTasks({
                tasks: filteredTasksData
            });
        })
}
...
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TS2345: Argument of type '(tasks: tasksType) => void'
is not assignable to parameter of type '(value: void | tasksType) => void | PromiseLike<void>'.Types of parameters …
Run Code Online (Sandbox Code Playgroud)

javascript promise typescript axios

6
推荐指数
2
解决办法
5835
查看次数

Switch() 不适用于 Math.random() 数字

我正在尝试创建一个涉及 switch() 的函数,并为我提供特定的、随机生成的数字的答案。不知何故,我的函数没有运行它应该运行的情况。它只给我默认情况,无论数字是多少。

这是我的代码:

var i;
var girl;

function response() {
    var girl = prompt("What girl do you like?");
    var r = (Math.random() * (3 - 1 + 1) + 1).toFixed(0);
    var i = r;

    switch(i) {
        case (i == 1):
            alert(girl + " likes you as a friend.");
            break;

        case (i == 2):
            alert(girl + " does not really like you.");
            break;

        case (i == 3):
            alert(girl + " has a crush on you.");
            break;

        case (i == 4): …
Run Code Online (Sandbox Code Playgroud)

javascript switch-statement

0
推荐指数
1
解决办法
5917
查看次数