Javascript 理解JS代码的各个部分-承诺、解决、拒绝、状态

Javascript 理解JS代码的各个部分-承诺、解决、拒绝、状态,javascript,promise,Javascript,Promise,我从各种来源拼凑了一些JavaScript代码,对它们进行了编辑并使其正常工作 问题是,我不理解代码中的某些部分,我希望有人能帮助我理解这些部分 基本上,代码所做的是将用户名和密码发送到热点,等待0,5秒,然后将用户输入邮件发送到Web服务器 我很难理解的是快速解决;。reslove内部是否快速只是因为resolve需要一个参数,因为它从不显示 而且,在某个时候我的代码 reject({ status: this.statu

我从各种来源拼凑了一些JavaScript代码,对它们进行了编辑并使其正常工作

问题是,我不理解代码中的某些部分,我希望有人能帮助我理解这些部分

基本上,代码所做的是将用户名和密码发送到热点,等待0,5秒,然后将用户输入邮件发送到Web服务器

我很难理解的是快速解决;。reslove内部是否快速只是因为resolve需要一个参数,因为它从不显示

而且,在某个时候我的代码

                reject({
                    status: this.status,
                    statusText: xhr.statusText
                });
。。。我犯了个错误。不用说,我不明白status和statusText到底应该显示什么以及显示在哪里

我从Stack Overflow和Developer.Mozilla.Org获得的许多代码

谢谢你的帮助

JS代码


您需要阅读一些关于node.js中回调以及如何处理回调的文章。承诺基本上会使您能够异步处理用它编写的代码

你可以这样写

Promise.then((data)=>{
    //this will be executed if and when promise resolves and will give you the data that you passed while resolving the promise
})
.catch((err)=>{
    //this will be executed if and when promise gets rejected and will give you the error that you passed while rejecting the promise
}); 
这有助于确定承诺的工作方式,但由于回调地狱的存在,在实践中不是一个好方法。我建议您首先研究回调和承诺,然后在了解其工作原理后使用async/await


请参阅:

reslove内部是否快速,因为resolve需要一个参数/参数,因为它从不显示?它更多的是自我记录代码。您可以只调用resolve而不使用参数,这样就可以了。或者,您可以调用resolve3.14—如果从未使用该值,这并不重要。但是,您可能有确实承诺的东西。thenvalue=>{if value===fast{console.logZoom!}}将使用承诺解析时使用的值。谢谢。这很有道理。谢谢,我会调查的。知道为什么status和statusText会抛出错误吗?它们实际应该显示什么?每当您发出web请求时,如果请求成功,您将得到范围为200-299的响应。这是一个全球标准,任何其他代码都会指示一些错误。例如,400-499的状态为用户错误,500-599的状态为服务器错误,请参阅:。因此,理想情况下,如果API命中失败,那么您应该返回一个错误并拒绝承诺,并且statusText应该具有在失败的情况下告诉您API失败原因的信息。啊,好的。但这将显示在哪里?它不应该是内部警报或console.log吗?所以Status会返回404,StatusText会显示not found。这只是为了在reject中传递一个确定的错误。每当有人使用该函数时,如果该函数被拒绝,他们将得到一个返回的对象,该对象将具有两个属性“status”和“statusText”,这样他们可以通过查看该对象来了解承诺被拒绝的原因。我想这涵盖了所有内容。谢谢你的帮助如果我还有其他问题,我会问一个新问题。
Promise.then((data)=>{
    //this will be executed if and when promise resolves and will give you the data that you passed while resolving the promise
})
.catch((err)=>{
    //this will be executed if and when promise gets rejected and will give you the error that you passed while rejecting the promise
});