then() 方法用于链式调用异步操作,处理 Promise 结果。用法:promise.then(resolveHandler, rejectHandler),其中 resolveHandler 处理成功结果,rejectHandler(可选)处理错误结果。then() 可链式调用,处理多个异步操作。resolveHandler 可返回一个值或另一个 Promise,从而传递结果。rejectHandler 处理 Promise 的拒绝结果。then() 方法返回一个新的 Promise 对象
JavaScript 中 then() 的用法
then() 方法是 JavaScript 中 Promise 对象常用的方法之一。它用于链式调用异步操作,并在操作完成时获取并处理结果。
用法
promise.then(resolveHandler, rejectHandler);
登录后复制
其中:
promise:要附加处理程序的 Promise 对象。resolveHandler:一个可接受单个参数的函数,用于处理 Promise 成功结果。rejectHandler(可选):一个可接受单个参数的函数,用于处理 Promise 失败结果。
链式调用
then() 方法的强大之处在于它可以被链式调用,以便对多个异步操作进行顺序处理。例如:
promise .then(result => { // 处理成功结果 return anotherPromise(result); }) .then(result => { // 处理另一个成功的结果 }) .catch(error => { // 处理拒绝(错误) });
登录后复制
处理结果
then() 方法的参数函数可以返回一个值或另一个 Promise 对象:
返回值:如果 resolveHandler 返回一个值,则该值将作为下一个 then() 处理程序的参数传递。Promise 对象:如果 resolveHandler 返回一个 Promise 对象,则下一个 then() 处理程序将在该 Promise 对象完成后被调用,并使用其结果作为参数。
处理错误
then() 方法的第二个参数函数 rejectHandler 用于处理 Promise 的拒绝(错误)结果。如果 Promise 被拒绝,则 rejectHandler 将被调用,并传入拒绝的原因。
注意点
then() 方法总是返回一个新的 Promise 对象,即使它没有被显式使用。如果 resolveHandler 或 rejectHandler 函数抛出错误,则新 Promise 将被拒绝,并传递该错误。then() 方法不能直接处理同步错误。要处理同步错误,可以使用 try…catch 语句或 Promise.resolve() 和 Promise.reject() 方法。
以上就是js中then的用法的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2676495.html