在另一个不起作用的内部退还诺言

时间:2018-07-10 17:22:10

标签: javascript node.js typescript promise

我正试图通过嵌套两个resolve函数来在另一个函数中返回一个Promise:

const a = new Promise((resolve1, reject1) => { 
    resolve1(new Promise((resolve2, reject2) => { 
        setTimeout(() => resolve2('finished'), 6000) 
    }).catch((err) => reject1(1))); 
});

操作await a的结果是finished而不是Promise {'finished', ...}

之后,我还尝试使用链接

const a = new Promise((resolve, reject) => resolve('finished'))
    .then((phrase) => { 
        return new Promise((resolve, reject) => resolve(phrase)) 
    });

不幸的是,我得到了与上一次尝试相同的结果。为什么两种方法都做错了?不使用额外的类定义的正确方法是什么?

0 个答案:

没有答案