假设我有一个函数fancyParse
旨在获取服务器返回的响应并将其转换为其他内容。如果响应没有任何意义,或者设置了特殊的“内部错误”标志,则此函数将抛出。
我想将此函数链接到$.post
调用中以获取新的Deferred
. 如果请求失败或fancyParse
抛出,这个新的 deferred 将失败。如果请求成功并且fancyParse
成功,它将成功,并且重要的是,会将结果传递fancyParse
给其成功回调。
完美的解决方案如下所示:
$.post('/url', etc).postprocess(fancyParse)
.done(my_done_handler)
.fail(my_fail_handler);
像这样的东西已经可用,还是我需要自己写这样的东西postprocess
?