【问题标题】:TypeScript | How to return another class from Promise.then() [closed]打字稿 |如何从 Promise.then() 返回另一个类 [关闭]
【发布时间】:2022-01-23 09:39:03
【问题描述】:

我在 TypeScript 中有一个类,它扩展了 Promise(MyClass 扩展了 Promise),我的意图是在调用 then() 时返回一个新的 MyClass 实例。

class MyClass<I extends Arcaela.Object[] = []> extends Promise<I> {

private MyClass = MyClass;

constructor(executor: I | Promise<I> | (()=>I | Promise<I>)){
    super((done, failure)=>{
        try {
            if(typeof executor==='function')
                done( executor() );
            else if(executor instanceof Promise)
                executor.then( done ).catch( failure );
            else done( executor );
        } catch(err){ failure( err ); }
    });
}


then(filled: (value?: I)=> I | Promise<I>, outfilled?: ()=> any) : MyClass<I> {
    return super.then(current=>{
        delete current.status;
        return current;
    });
}
}

【问题讨论】:

  • 您可以编辑问题以使其更清晰吗?看起来你正在编写一个单例,但真的不确定你想要实现什么。
  • e_i_pi 回答好...我已修复

标签: node.js typescript asynchronous promise


【解决方案1】:

要让对象返回字符串值,请使用magic __toString method

public function __toString()
{
    return $this->var;
}

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-25
    • 2015-05-09
    • 2017-01-15
    相关资源
    最近更新 更多