javascript - 在 Javascript 中使用 prams 链接 Promise

标签 javascript asynchronous promise

尝试将两个 Promise 链接在一起,其中一个 Promise 需要一个参数。我如何链接它们? p1().then(p2(23)); 不起作用

function p1() {
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   console.log("hey p1")
    resolve()
  }, 2000)
 })
}
function p2(b) {
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   console.log("hey p2: " + b)
    resolve()
  }, 2000)
 })
}

p1().then(p2(23));

最佳答案

您应该传递返回 Promise 的函数,例如:

function p1() {
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   console.log("hey p1")
    resolve()
  }, 2000)
 })
}
function p2(b) {
 return new Promise(function(resolve, reject) {
  setTimeout(function(){
   console.log("hey p2: " + b)
    resolve()
  }, 2000)
 })
}

p1()
  .then(function(){
      return p2(23)
  });

关于javascript - 在 Javascript 中使用 prams 链接 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46534289/

相关文章:

javascript - 下拉类在 JSF 中不起作用

javascript - 使用循环在数组中映射对象及其名称

java - 在方法上使用 @Async 注释时来自 CglibAopProxy 的 NPE

windows-phone-7 - 异步等待 task.run - 未找到

javascript - 我需要在单击按钮时显示复制的文本

javascript - 在 nodejs 中保持 SSH 连接

javascript - JS Bluebird Promise错误未提供任何细节

javascript - catch 中的请求- promise 堆栈跟踪

Python Tornado 使用协程并行请求并处理异常

this - 在 AngularJS 的 promise 中使用它