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