在函数中承诺错误

mrQWERTY

我们如何处理then承诺功能中发生的错误

getLocationId(lat, lon, callback)
{
    let self = this;

    return this._geocoder.reverse({lat: lat, lon: lon})
        .then(this._parse)
        .catch(function(err) {
            callback(err);
        });
}

_parse(res)
{
    if (res.length < 1)
        throw new Error('No results from Maps API');

    let value = res[0].administrativeLevels;

    if (!value || value.length < 1) {
        throw new Error('No administrative levels available');
    }

    if ('level2long' in value)
        return value.level2long;
    if ('level1long' in value)
        return value.level1long;

    throw new Error('No suitable location found');
}

例如,如何处理this._parse引发错误?我认为catchpromise功能仅与reject处理程序有关。它也可以处理抛出的错误then吗?

jfriend00

在任何.then()处理程序中引发的异常都将被Promise基础结构自动捕获,并将当前的Promise链变成拒绝的Promise。然后,链将跳到下一个.catch()处理程序,其中异常将是错误拒绝原因。

这是一个例子:

Promise.resolve().then(function() {
    throw "foo";
}).then(function() {
     console.log("in 2nd .then() handler");     // will not get here
}).catch(function(err) {
    console.log(err);                           // will show "foo"
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在承诺中捕获错误并拒绝承诺

来自分类Dev

错误错误:未捕获(承诺):TypeError:i.BehaviorSubject不是Angular 10 SSR中的构造函数

来自分类Dev

如何在Google Firebase函数中从失败的承诺中返回自定义错误消息?

来自分类Dev

处理承诺链中的错误

来自分类Dev

处理承诺链中的错误

来自分类Dev

处理承诺链中的错误

来自分类Dev

处理承诺链中的错误

来自分类Dev

函数内的承诺得到错误不是函数错误

来自分类Dev

为什么我在 Firebase 中收到此错误“函数返回未定义、预期的承诺或值”

来自分类Dev

错误:未捕获(承诺中):未处理的承诺拒绝

来自分类Dev

返回承诺之前承诺中的语法错误

来自分类Dev

无法在递归承诺函数中解析

来自分类Dev

CS:函数式编程中的承诺平等

来自分类Dev

从递归函数捕获中解析承诺

来自分类Dev

res.redirect 不是承诺中的函数

来自分类Dev

如何处理承诺中的错误?

来自分类Dev

处理Javascript承诺中的拒绝错误

来自分类Dev

承诺猫鼬连接中的类型错误

来自分类Dev

如何处理承诺中的错误?

来自分类Dev

navTrl.push() 中的承诺错误

来自分类Dev

Angular 和 RXJS 承诺中的错误

来自分类Dev

R错误:承诺已经在评估中

来自分类Dev

故意在承诺中抛出错误?

来自分类Dev

承诺在错误 Nodejs 中递归调用

来自分类Dev

处理承诺中的错误 - Es6

来自分类Dev

如何解决 reactjs 中承诺的错误

来自分类Dev

如何同时从承诺中获取错误结果

来自分类Dev

v-on处理程序中的错误(承诺/异步):“ TypeError:axios__WEBPACK_IMPORTED_MODULE_14 ___ default.a.todo不是函数”

来自分类Dev

得到的错误是“未捕获(承诺)TypeError:对象不是构造函数(…)”

Related 相关文章

热门标签

归档