Vue项目 promise

今天的新的知识点ES6中的Promise        

 为什么要跟我说这个

 

廖雪峰:https://www.liaoxuefeng.com/wiki/1022910821149312/1023024413276544

在JavaScript的世界中,所有代码都是单线程执行的。

由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现

 

读取文件不是后端的内容吗?在学node的时候

我们前端好像并没有方法可以获取

 

啥呀,那些在node中用require引入的

什么fs path  

我丢好像在这里也可以直接

const fs = require(‘fs’)

是和我在node中学的一模一样啊

 

这是读取文件的第一个参数,文件名

 

 

 箭头函数  () => {}

 

为什么要我们自己封装,这个promise有什么关系

我们的目的是什么:

  我给你一个路径,你要返回结果给我。

  在原来的正常没有返回结果吗

 

 

 

 因为是异步的,所以直接return 

程序不会等待result ,因此result 是undefined?

我记起来的,这里的return,不是外边函数的return,而是内边的

按我怎么获取到里边函数的返回值,然后返回给外边的函数呢

为什么给他一个callback(dataSrc) 就可以了呢

那还是和promise有什么关系

 

有时候还是搞不清这个return 的后面不执行

 

 

如果不想阻塞,那么我么可以嵌套 

如果嵌套很多层,就叫回调地狱

 

 

 

 终于把promise引出来了,那么promise到底是什么呢

在控制台输出,console.dir(promise) 发现是大写的Promise

所以是个构造函数,自定义对象  就可以new 一个Promise 的实例 

 

 reject:失败之后要做的事情 resolve(决心)引申为成功之后要做的事情

这两个就是回调函数 

 vue-sourse  的then应该是一样的

那我怎么和文件挂钩呢  promise实例

 

 

形式上和具体的promise的异步操作

 

 

函数的一个作用,就是假如我想先不执行函数体的代码

我就可以先放到函数里边。然后我先执行的时候调用这个函数就可以了

 

再原来普通的读取文件,是不能直接return返回值回去的

那用callback()   那callback从哪里来呢

callback也传递两个参数, 

 

在promise 中也有两个参数

这几个是形参,那实参是什么,不知道,我知道的是失败执行的函数,成功执行的函数

 

这都是啥呀? 我得自己撸一遍

哎呀,不太懂啊

 

 

把整个promise实例 全部返回 return

也不用在用变量来接受了吧  直接 .then

 

搞了那么久,把我都搞晕了,我还是不知道有什么用

 

因为是异步的,所以.then会先执行。然后会把,

我们需要的resolve,reject函数先传过去的

 

 

可能记住一句话就好了吧:再上一个.then 中,返回一个新的promise实例,可以继续用下一个.then来处理

 

 

 

在回调地狱中,故意写错文件名

然后呢在函数的外边写  console.log(“okok”)

为什么会先输出okok  再报错呢

 

因为是异步操作,但我读取文件的时候

我是不会等你的,我会先往后边执行

当我读到文件错误的时候

我才会报错   又跟我说这个  .then没有什么意义

 

 

 

 

 前面跟我说可以省略失败回调

然后现在又说可以添加

 

真的是一步一步推翻自己的东西

可能教学就这样的吧

通过某种东西引入,某种东西

哈哈哈   需求引出

 

这个catch  和throw的区别

 

 

jquery中的ajax的promise

.then是在ajax的外边

 

转载于:https://www.cnblogs.com/Py-king/p/11616212.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值