javascript - Promise的then怎么确定接下来是成功还是失败?
黄舟
黄舟 2017-04-11 09:50:39
[JavaScript讨论组]

比如我Promise执行成功了,自然要调用then的resolve,然而resolve执行失败了,我希望下一个then执行reject,要怎么做?


问题解决了。

下一个then……………………

本人的意思是:

var p = new Promise((a,b)=>{a()});
p.then(()=>{}, ()=>{}).then(()=>{}, ()=>{console.log('我希望输出这句话。');});

这个要怎么实现?

现在问题已经解决,只要

p.then(()=>{return new Promise((a,b)=>{b()})}, ()=>{}).then(()=>{}, ()=>{console.log('我希望输出这句话。');});

就可以实现了。

图灵社区:【翻译】Promise/A+规范

问题关闭。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
ringa_lee

then 不是有两个回调么,第一个是成功的,第二个是失败的

new Promise(resolve => {
    resolve("hello");
})
    .then(v => {
        console.log(v);
        return Promise.reject();
        //也可以 throw new Error();
    })
    .then(() => {
        console.log("success");
    }, () => {
        console.log("fail");
    });
PHP中文网

resolve的意思是本次promise结束了,成功的,并返回一个新的promise给下一个then执行。

比如,你在resolve里面写了一个错误方法,只要之歌错误不崩溃阻塞整个程序,也是要被Then接收的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号