标签: jquery-deferred
我正在尝试学习如何创建自定义Deferred对象,并且正在处理以下事项:
http://jsfiddle.net/jhYjw/7/
必须使用jsFiddle,但是当我在本地浏览器上运行该代码时,一切似乎都有效。
调用deferreds然后调用.done()。
但是,没有传递给.done()的参数。未定义的是[]“结果”。
发生了什么事? :P我传入一个字符串来解析()
非常感谢!
答案 0 :(得分:4)
.resolveWith(x) [docs] 未将x传递给您的回调。它会将this设置为x来运行您的回调。
.resolveWith(x)
x
this
要传递x作为回调函数的参数,请使用.resolve(x) [docs] 或.resolveWith(valueForThis, x)。
.resolve(x)
.resolveWith(valueForThis, x)