jquery-deferred – 是否可以重置jQuery延迟对象状态?

前端之家收集整理的这篇文章主要介绍了jquery-deferred – 是否可以重置jQuery延迟对象状态?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以将解决的jQuery对象重置为“未解决”状态,并重新启动它的初始化和回调?

我正在做的具体事情是我在本地文件系统api上有一个jQuery延迟包装.从那里我为我关心的事情建立了更高层次的延期:

var getFs = defFs.requestQuota(PERSISTENT,1024*1024)
              .pipe (bytes) -> defFs.requestFs(PERSISTENT,bytes)

var getCacheContents = getFs.pipe (fileSystem) -> 
      defFs.getDirectory('Cache',fileSystem.root).pipe (dir) ->
          defFs.readEntries(dir)

现在大多数时候,当我调用getCacheContents时,我不介意回收的备忘值,其实我更喜欢它.但是,在我想写入高速缓存的情况下,我真的希望能够重置该管道,并重新选择并重新扫描缓存下一次访问它.

我可以从$.Callbacks拼凑起来,但是基于延迟的解决方案真的是理想的.

解决方法

一个承诺是 definition这个只能解决一次的事情 – 从未解决到履行或拒绝.您将无法使用jQuery的Deferred来执行此操作.

您实际搜索的是Signals.它们将被多次触发,但提供了类似的界面.有一些实现,你可能会退出js-signalswire.js.

原文链接:https://www.f2er.com/jquery/179401.html

猜你在找的jQuery相关文章