Promise是JavaScript中处理异步操作的一种机制。它可以将异步操作封装成一个Promise对象,通过链式调用的方式来处理异步操作的结果。
在一个Promise链中,每个then方法都会返回一个新的Promise对象,用于处理前一个Promise对象的结果。当Promise链中的某个Promise对象的状态发生改变时,它会执行对应的回调函数,并将结果传递给下一个Promise对象。
因此,当我们在一个Promise链中使用多个then方法时,只有最后一个then方法中的回调函数能够获取到前面所有Promise对象的结果。这是因为每个then方法返回的是一个新的Promise对象,前面的Promise对象的结果会被传递给下一个Promise对象,而不会再传递给前面的Promise对象。
这种设计可以让我们更灵活地处理异步操作的结果。如果我们希望在多个Promise对象的结果都可用时再进行处理,可以将多个then方法链式调用起来。而如果我们只关心最后一个Promise对象的结果,可以直接在最后一个then方法中处理。
总结起来,Promise只在最后一个变量中起作用是因为每个then方法返回的是一个新的Promise对象,前面的Promise对象的结果会被传递给下一个Promise对象,而不会再传递给前面的Promise对象。这样设计的目的是为了更灵活地处理异步操作的结果。
领取专属 10元无门槛券
手把手带您无忧上云