相关疑难解决方法(0)

如何显示由setTimeout/setInterval生成的每个运行的线程的列表

我想通过纯JavaScript或浏览器中的任何类型的控制台或其他任何方式来做到这一点.

可能吗?

谢谢

进一步说明:我想调试一个动画库.我想知道如果有多个对象被动画,是否创建了多个计时器.

javascript debugging multithreading

16
推荐指数
3
解决办法
4942
查看次数

在构造函数中调用异步函数。

getUser是一个异步函数吗?是否需要更长的时间解决?是否总是返回我的正确的价值someotherclass

class IdpServer {
    constructor() {
        this._settings = {
            // some identity server settings.
        };
        this.userManager = new UserManager(this._settings);
        this.getUser();
    }

    async getUser() {
        this.user = await this.userManager.getUser();
    }

    isLoggedIn() {
        return this.user != null && !this.user.expired;
    }
}

let idpServer = new IdpServer();
export default idpServer;


// another class 
// import IdpServer from '...'
 class SomeOtherClass {
     constructor() {
        console.log(IdpServer.isLoggedIn());
     }
 }
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous ecmascript-6 identityserver4

6
推荐指数
1
解决办法
4640
查看次数

使用异步方法保持对象可链接

假设我有一类Test包含大约10-20个方法的方法,所有方法都是可链接的。

在另一种方法中,我需要执行一些异步工作。

let test = new Test();
console.log(test.something()); // Test
console.log(test.asynch()); // undefined since the async code isn't done yet
console.log(test.asynch().something()); // ERROR > My goal is to make this 
Run Code Online (Sandbox Code Playgroud)

由于其他所有方法都是可链接的,因此,如果不是这种唯一的方法,我觉得对用户来说很奇怪。

我有办法保持班级的可链接主题吗?


我已经想通过下一个方法在这个方法的参数内的回调函数,但它不是真正的链接。

test.asynch(() => something())
Run Code Online (Sandbox Code Playgroud)

与相同Promises,它并不是真正的链接。

test.asynch().then(() => something())
Run Code Online (Sandbox Code Playgroud)

我想要的结果是

test.asynch().something()
Run Code Online (Sandbox Code Playgroud)

这是一个演示我的问题的代码段:

let test = new Test();
console.log(test.something()); // Test
console.log(test.asynch()); // undefined since the async code isn't done yet
console.log(test.asynch().something()); // ERROR > My goal is to make …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous method-chaining

5
推荐指数
1
解决办法
152
查看次数

JS - 链序异步方法依次没有回调或修改

我正在尝试向原型添加"默认回调",如果没有提供,则会将异步方法的回调函数(以promise的形式)分配给异步方法.

目标是让一个类的异步方法链同步运行

Item.async1().async2()....asyncN()
Run Code Online (Sandbox Code Playgroud)

请注意,异步函数本身期望回调,但它们不会在函数调用中作为参数传递(这告诉我在回调查找失败时类需要默认行为)

Spec声明我无法直接修改原型方法的行为或副作用.我可以添加原型方法.我们无法了解这些原型方法的实现方式.

TLDR:如果不修改原型方法,如何链接N个异步方法并确保它们按顺序运行?

顺便说一下:如果我想实现promisified版本,那么宣传有问题的原型方法会很有帮助,但看起来我们受限于原始的函数调用

javascript asynchronous node.js promise

4
推荐指数
1
解决办法
1987
查看次数