Node

Promise

2018-09-11  本文已影响4人  追逐_chase
node.jpeg

Promise

基本用法


//创建一个容器
// 给你一个承诺,承诺本身不是异步,它里面的任务是异步
  var p1 =  new Promise(function (resolved,reject) {

     console.log(2);
     //这个任务会异步执行
     fs.readFile("./data/a.txt","utf8",function (err,data) {

         if (err){
             //承诺容器中的任务失败了
             // console.log(err);

             //把容器的pending的状态变为 rejected
             reject(err);
         }else {
             //承诺容器中的任务成功了
             // console.log(3);
             //
             // console.log(data);

             //把容器的pending状态改为成功 Resolved
             resolved(data);
         }
     })

 })

我们创建了p1Promise对象,可以通过then方法回调

//当p1成功了,然后(then)做指定的操作

    // then方法接收的function就是容器中的 resolve函数
  p1.then(function (data) {

      console.log(data);

      return {"name":"CC","age":"18"}
      //当前函数中 return的结果会在后面的then中的function接收到
      // return一个对象,在后面的then中的function 打印的结果 就是返回的对象

      //这个return最有用的就是 返回一个Promise对象

  },function (err) {
      //错误对象 rejected函数

  }).then(function (data) {

      console.log(data);

  })

解释:then方法有2个参数,第一个参数函数是Promise对象状态变为resolved(成功)时调用,第二个回调函数是Promise对象的状态变为rejected(失败)时调用

一些解释

其他用法可以参考这个博客

喜欢文章的👍一下,谢谢,有想学习[web]可以私聊我。

image.png
上一篇 下一篇

猜你喜欢

热点阅读