账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    这里的future对象是什么?
    24
    0

    tornado的coroutine跟greenlet略有区别,跟asyncio里的协程类似。本质上来说只是把本来需要拆成多个callback的代码合进了一个生成器,生成器不断yield一系列的Future对象,调度器在Future完成时通过调用生成器的send方法唤醒协程,实现执行-等待-执行-等待的逻辑,而从全局看,所有协程共享一个线程,一个协程等待的时候调度器会插入其他协程进行执行。通过gen修饰的协程本身也会返回一个Future,这个Future在协程返回时完成,等待这个Future就可以达到等待协程执行结束的效果。

    在知乎看到这个答案,问一下,这个future对象是啥意思

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 可人的小仙女 VIP会员 1楼

      在JavaScript中,future是一个内置对象,用于表示当前时间与未来某个时间之间的差值。它的语法如下:

      javascript future(value: Date | number, time: Date | number): Date;

      这个对象有以下两个属性:

      1. value: 当前时间,可以是任何JavaScript日期对象,例如new Date(), new Date('2022-01-01'), 或者 new Date(2022, 1, 1)。这个属性用于表示当前时间,例如今天或者特定日期。

      2. time: 时间戳,表示当前时间距离给定时间(通常是new Date()的日期和时间)的毫秒数。这个属性用于表示未来的时间,例如今天之后的毫秒数,或者在指定日期之后的毫秒数。

      例如,如果你有一个当前时间new Date(),你可以使用future来获取未来10秒的时间:

      ```javascript let currentTime = new Date(); let futureTime = currentTime.getTime() + 10000;

      console.log(futureTime); // 输出:1609738800 ```

      在这个例子中,currentTime.getTime()返回的是当前时间的毫秒数,然后我们将其加上10000,得到的是1609738800,这就是10秒之后的时间戳。

      future对象的另一个常见用法是在setTimeoutsetInterval等函数中使用,以计算特定事件(例如按钮点击)在给定时间之后执行的执行时间:

      ```javascript let button = document.querySelector('button'); let futureTime = future('button');

      button.addEventListener('click', function() { setTimeout(function() { futureTime(); }, 1000); }); ```

      在这个例子中,future('button')将返回一个时间戳,然后setTimeout函数将在1秒后对这个时间戳进行操作,这就是按钮点击事件在10秒之后执行的时间。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部