相关疑难解决方法(0)

理解JS承诺

我想更深入地了解Promises如何在内部工作.因此我有一些示例代码:

var p1 = new Promise(
  function(resolve, reject) {
    window.setTimeout(
      function() {
        resolve('res called')
      }, 2000);
  });


var p2 = new Promise(
  function(resolve, reject) {
    window.setTimeout(
      function() {
        resolve('res called')
      }, 2000);
  });


function chainPromises() {
  return p1.then(function(val) {
    console.log("p1");
    return p2.then(function(val) {
      console.log("p2");
      return val;
    });
  });
}

chainPromises().then(function(val) {
  console.log(val);
});
Run Code Online (Sandbox Code Playgroud)

这是执行此代码的链接.

正如您所预测的那样,首先解决p1,之后是p2,然后最终打印出resolv值.

但API参考声明如下:

var p1 = new Promise(
  function(resolve, reject) {
    window.setTimeout(
      function() {
        resolve('res called')
      }, 2000);
  });


var p2 = new Promise(
  function(resolve, …
Run Code Online (Sandbox Code Playgroud)

javascript promise

17
推荐指数
2
解决办法
7615
查看次数

标签 统计

javascript ×1

promise ×1