📜  如何在 JavaScript 中的另一个 Promise 中调用 Promise?

📅  最后修改于: 2022-05-13 01:56:19.784000             🧑  作者: Mango

如何在 JavaScript 中的另一个 Promise 中调用 Promise?

在本文中,我们将学习如何在 JavaScript 中的另一个 Promise 中调用 Promise。

问题陈述:您需要首先使用 JavaScript 中的基本语法声明一个 Promise,然后进一步执行预先声明的 Promise,您需要创建另一个 Promise,该 Promise 将在前一个 Promise 中调用以执行它。

在以图形方式分析问题陈述之前,我们先来了解一下 Promise 到底是什么,以及如何在 JavaScript 中声明一个 Promise。

Promise 基本上是一个 JavaScript 对象,负责处理所有异步操作或活动,例如从 API 获取数据等。

Promise 在一个函数(或回调函数)中接受两个参数,这些参数在其中传递以执行结果:第一个参数已解析,最终意味着您的结果将在以后成功显示,另一个参数被拒绝,这意味着您的数据将执行时无法成功显示。

示例:以下语法将用于在 JavaScript 中声明和执行 Promise。

Javascript


Javascript


输出:

GeeksforGeeks

作为一个例子,让我们理解上面的场景。在这里,我们首先需要使用 Promise 语法声明一个 Promise,我们将使用 then() 方法来执行它,然后在 then() 方法中,我们将使用与上述相同的 Promise 语法创建另一个 Promise,然后我们将在新的 Promise 中调用 first 的结果。

现在,在分析了与我们的问题陈述相关的上述事实之后,让我们看看以下方法来更有效地理解和分析我们的问题陈述。

方法一:

  • 这基本上是原生且简单的方法,首先我们可以使用上面说明的 Promise 语法声明 Promise。
  • 然后我们可以声明我们的 then() 方法来处理这个 Promise 创建的结果。
  • 在 then() 方法之后,我们将使用相同的 Promise 语法声明另一个 Promise。
  • 然后我们将在第二个 Promise 中调用我们的第一个 Promise 的结果,并且为了更好地理解,我们将使用我们的第一个 Promise 结果和第二个 Promise 结果来查看该过程的确切运行情况。

例子:


输出:

Hello
Hello GeeksforGeeks!

方法二:

  • 在这种方法中,我们将考虑 setTimeout() 方法,以便更好地理解 Promise 调用过程是如何工作的。
  • 如 Approach-1 所示,首先声明一个新的 Promise,然后将结果包装在 setTimeout() 方法中,并提供 1000 毫秒(约等于 1 秒)的时间延迟。
  • 然后在使用 then() 方法执行结果后声明另一个 Promise 并在第二个 Promise 中首先打印第一个 Promise 的结果。
  • 然后在第一个 promise 的结果之后,将第二个 promise 的结果也包装在 setTimeout() 方法中,并提供 2000 毫秒(约等于 2 秒)的时间延迟。
  • 然后使用 then() 方法在控制台输出第二个参数的结果。

例子:

Javascript


输出:

// After 1 second......
Hello 
   
// After 2 seconds.....
Hello GeeksforGeeks!