Javascript 我怎样才能把承诺称为“承诺”呢?

Javascript 我怎样才能把承诺称为“承诺”呢?,javascript,node.js,Javascript,Node.js,怎么了?我认为这段代码必须输出22,23,24,25。。。无限等等 function find() { let numberPage = 22; getPromiseOpenPage(numberPage); function getPromiseOpenPage (numberPage) { return new Promise( function (resolve, reject) { resolve(numberPage); }) } ge

怎么了?我认为这段代码必须输出22,23,24,25。。。无限等等

function find() {
  let numberPage = 22;
  getPromiseOpenPage(numberPage);

  function getPromiseOpenPage (numberPage) {
    return new Promise( function (resolve, reject) {
      resolve(numberPage);
    })
  }
  getPromiseOpenPage().then(
    function (res) {
      console.log(res);
      getPromiseOpenPage(res++);
    }
  )
}

您需要创建一个递归循环来处理所有的无限承诺结果

getPromiseOpenPage(res++);
您没有在这里处理
。然后
(不,第一个
getPromiseOpenPage()。然后(
不算,因为它是另一个调用)

因此,解决方案如下:

handlePromise() {
  myPromise.then((res) => handlePromise()); // On Promise complete it will go back
                                            // to the handler.
}
handlePromise(); // Start handlePromise the first time.

您不应该将
getPromiseOpenPage()
作为
initial
函数运行

在这里,
test(numberPage)
您提供了迭代的初始值,它调用了
getPromiseOpenPage()
,它将返回一个
success
状态

您可以
console.log(res)
响应值,然后
通过
1
迭代
test(res)
,然后通过提供新的递增值
1
再次调用
test(res)
,即
23

……一次又一次地重复相同的过程…………无限次

  const numberPage = 22;

  function getPromiseOpenPage(p) {
    return new Promise((resolve, reject) => {
      resolve(p);
    });
  }


 function test(p) {
  getPromiseOpenPage(p).then((res) => {
    console.log(res);
    res = res+1;
    test(res);
  })
}

test(numberPage);

GETOpEngEngEngEP完全损坏三次,这三种情况下的参数是“代码>22</CODE”,<代码>未定义< /COD>和<代码>楠<代码> Hy@并给回答者和你自己一些声誉。没有义务这样做。