为什么我只需要向我的 catch promise 方法提供 "console.log" 来记录错误?

Why i only need to provide "console.log" to my catch promise method to log error?

我有一个简单的承诺,但我想知道为什么在我的 catch 方法中我只需要传递“console.log”,如果它发生,它会自动记录该错误?

是不是和catch自动给我们一个error对象有关系还是别的什么?

隐藏的论据来总结这里有一个例子!

function test() {
    if (arguments[0] == "works") {
        console.log("COOL");
    }
}

test("works");

在您的情况下,您会将函数 console.log 传递给 catch 方法。 console.log 方法只是在控制台中打印每个参数。在 catch 方法中,传递的函数将在承诺的 reject/error 上执行。

下面是一个传递函数的例子:


function a(method) {
    method("Hello World");
}

a(console.log);

在这种情况下,console.log 函数在 a 函数中作为 method 可用,因为它已作为参数传递。这就是原因,代码在控制台中打印 Hello World