是否可以将已解析的 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 拼凑出一些东西,但基于延迟的解决方案真的很理想。
最佳答案
A号Promise
来自 definition只解决一次的事情 - 来自 unresolved
至 fulfilled
或至 rejected
.您将无法使用 jQuery 的 Deferred
来做到这一点。 s。
您实际搜索的是 Signals .它们将被多次触发,但提供类似的界面。周围有一些实现,你可以查看 js-signals
或 wire.js
.
关于jquery-deferred - 是否可以重置 jQuery 延迟对象状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762619/