小编Joh*_*Doe的帖子

为什么捕获行为像解决方案?

我无法解释为什么这段代码执行如下:

  1. "无法到达服务器"
  2. "成功:数据已加载"

为什么loadData().then()在无处似乎无法解决的情况下被调用?

我意识到我可以通过在第一个catch中抛出错误来"修复"代码,以便最后/更高的catch会看到错误.但我想知道显然解析我的代码的人或者是谁,导致在这种情况下达到.then().

是不是在第一个被认为是re​​solve()的catch中重新抛出错误,因为这段代码暗示它是什么?

或者我在这里失踪的Promises的行为怎么样?

function doGoogleRequest(){
    return new Promise(function(resolve, reject){
        reject("Could not reach server.");
    });
}

function loadData(){
    return doGoogleRequest()
        .then(function(data){
            return data;
        }).catch(function(err){
            console.error(err);
        });
}

loadData()
  .then(function(){
    console.log("Success: Data has been loaded.");
}).catch(function(err){
    console.log("Error: could not load data");
});
Run Code Online (Sandbox Code Playgroud)

javascript promise

3
推荐指数
1
解决办法
59
查看次数

标签 统计

javascript ×1

promise ×1