Pandoc来 Markdown 转 Org mode 怎么总是有缩进不对
,与 link 换行
, 有些标题没转化
,的问题
markdown:
## ECMAScript 6
### 模版字符串
- [javascript-模板字符串ES6防止换行](https://www.itranslater.com/qa/details/2582776439305143296)
- [JavaScript的模板字符串,如何保持多行缩进且去除格式化空格?](https://juejin.im/post/6844903742731616270)
### 箭头函数
- return
- (x) => x+x 表达直接return x+x
- [箭头函数的不使用return 直接返回数据](https://www.cnblogs.com/aidixie/p/12151534.html)
### promise
- 它是异步编程的解决方案
- 在创建对象时它应传入一个带 `resolve` `reject` 参数的函数,这个Promise对象创建之后,使用 `then` 中定义传入的函数,第一个函数为 `resolve` **第二个函数为 `reject`多不写**,`Promise` 对象创建时所调用的 `resolve`和`reject` 会执行 `then` 中的定义的函数,有参数会连带的传入到 `then` 定义的函数中
- `Promise` 对象创建时,代码中有 `resolve()`或`reject()` 即使未传入参数,或未使用 `then` 当执行到了 `resolve` 和` reject` 都会直接改变 `Promise` 对象的状态
- 情况
- 当 `resolve`传入的是另一个 `Promise` 对象
[可供参考](http://es6.ruanyifeng.com/#docs/promise)
传入的 `Promise` 对象会对原本的 `Promise` 的 `status` 进行影响,将会由传入的 `Promise` 对象来决定原本 `Promise` 对象的状态 `status` 原本的 `Promise` 的 `status` 会无效,所有使用的 `then` 也会是 传入的 `Promise` 对象来使用 `then`
- `resolve`和`reject` 并不会阻止`Promise`的中参数函数执行中止,`resolve`和`reject` 它的执行会在参数函数中,同步代码之后执行
- `catch` 捕获的返回的还是 `Promise` 对象
- `promise` 对象当它成功有返回值时,获取返回值使用 `then`
```js
promise.then(data => {
console.log(data);//then为当前同步代码执行完后 再执行,
})
```
- **Promise.prototype.finally()**
- 它是不管`Promise`对象的状态是什么都会执行 `finally`方法指定的回调函数
- `finally` 的回调函数不接受任何参数
- 实例是特例的`then`
- **Promise.prototype.all()**
- 用于将多个`Promise` 返回一个新的`Promise`实例,新的`Promise`实例的状态由这多个`Promise` 实例决定,㊀当全为 `resolve` 它也为 `resolve` ㊁当有一个为 `reject` 它为 `reject`
> 变成fulfilled,或者其中有一个变为rejected,才会调用Promise.all方法后面的回调函数 [Promise.all()](https://es6.ruanyifeng.com/#docs/promise "Promise.all" )<br>
> 成功返回一个结果数组,当出现失败时返回最先为 `reject` 状态的值 [Pomise.all的使用](https://www.jianshu.com/p/7e60fc1be1b2)
```js
Promise.all(promises).then((result)=>{})
//它是会等待 promises 的状态完成后再执行 then 中的函数
```
### async await
- 在函数内中的同步代码,在运行时仍是同步代码,只有写的异步操作它才会做异步
- 使用 `async` 函数的返回值会是一个 `promise` 对象,还是要通过 `then` 来异步的获取值,看到的文章多为把 `async` 函数 `export` 出去再来使用
- Reference
- [[译]JavaScript可视化:Promise和Async/Await](https://zhuanlan.zhihu.com/p/138140285)
### Proxy
- `let obj=new Proxy(target,handler)`
> target 表示要实拦截的目标对象
> handler 也是一个对象,handler 每一个属性都对应一个处理函数
- get
> 用来拦截目标对象的属性访问
- set
```js
let a = new Proxy({},{
set:function(a,b,c){
console.log("set:",a,b,c);
}
})
a.a=1 //set: {} a 1
// a 为目标对象
// b 为目标对象的属性
// c 为属性的值
```
### Reflect
-
### export
- 对它的使用不能在代码块的 top level 以下
- 使用时在对变量的栈堆要包括在 `{}` 中
转出来的 源码:
#+TITLE: es6
#+DATE: 2021-04-12T14:52:33+08:00
** ECMAScript 6
:PROPERTIES:
:CUSTOM_ID: ecmascript-6
:END:
*** 模版字符串
:PROPERTIES:
:CUSTOM_ID: 模版字符串
:END:
- [[https://www.itranslater.com/qa/details/2582776439305143296][javascript-模板字符串ES6防止换行]]
- [[https://juejin.im/post/6844903742731616270][JavaScript的模板字符串,如何保持多行缩进且去除格式化空格?]]
### 箭头函数
- return
-
24) => x+x 表达直接return x+x
- [[https://www.cnblogs.com/aidixie/p/12151534.html][箭头函数的不使用return
直接返回数据]] ### promise
- 它是异步编程的解决方案
- 在创建对象时它应传入一个带 =resolve= =reject=
参数的函数,这个Promise对象创建之后,使用 =then=
中定义传入的函数,第一个函数为 =resolve= *第二个函数为
=reject=多不写*,=Promise= 对象创建时所调用的 =resolve=和=reject=
会执行 =then= 中的定义的函数,有参数会连带的传入到 =then= 定义的函数中
- =Promise= 对象创建时,代码中有 =resolve()=或=reject()=
即使未传入参数,或未使用 =then= 当执行到了 =resolve= 和=reject=
都会直接改变 =Promise= 对象的状态
- 情况
- 当 =resolve=传入的是另一个 =Promise= 对象
[[http://es6.ruanyifeng.com/#docs/promise][可供参考]] 传入的
=Promise= 对象会对原本的 =Promise= 的 =status=
进行影响,将会由传入的 =Promise= 对象来决定原本 =Promise= 对象的状态
=status= 原本的 =Promise= 的 =status= 会无效,所有使用的 =then=
也会是 传入的 =Promise= 对象来使用 =then=
- =resolve=和=reject=
并不会阻止=Promise=的中参数函数执行中止,=resolve=和=reject=
它的执行会在参数函数中,同步代码之后执行
- =catch= 捕获的返回的还是 =Promise= 对象
- =promise= 对象当它成功有返回值时,获取返回值使用 =then=
#+BEGIN_SRC js
promise.then(data => {
console.log(data);//then为当前同步代码执行完后 再执行,
})
#+END_SRC
- *Promise.prototype.finally()*
- 它是不管=Promise=对象的状态是什么都会执行
=finally=方法指定的回调函数
- =finally= 的回调函数不接受任何参数
- 实例是特例的=then=
- *Promise.prototype.all()*
- 用于将多个=Promise=
返回一个新的=Promise=实例,新的=Promise=实例的状态由这多个=Promise=
实例决定,㊀当全为 =resolve= 它也为 =resolve= ㊁当有一个为 =reject=
它为 =reject= >
变成fulfilled,或者其中有一个变为rejected,才会调用Promise.all方法后面的回调函数
[[https://es6.ruanyifeng.com/#docs/promise][Promise.all()]] >
成功返回一个结果数组,当出现失败时返回最先为 =reject= 状态的值
[[https://www.jianshu.com/p/7e60fc1be1b2][Pomise.all的使用]]
#+BEGIN_SRC js
Promise.all(promises).then((result)=>{})
//它是会等待 promises 的状态完成后再执行 then 中的函数
#+END_SRC
*** async await
:PROPERTIES:
:CUSTOM_ID: async-await
:END:
- 在函数内中的同步代码,在运行时仍是同步代码,只有写的异步操作它才会做异步
- 使用 =async= 函数的返回值会是一个 =promise= 对象,还是要通过 =then=
来异步的获取值,看到的文章多为把 =async= 函数 =export= 出去再来使用
- Reference
- [[https://zhuanlan.zhihu.com/p/138140285][[译]JavaScript可视化:Promise和Async/Await]]
*** Proxy
:PROPERTIES:
:CUSTOM_ID: proxy
:END:
- =let obj=new Proxy(target,handler)= > target 表示要实拦截的目标对象 >
handler 也是一个对象,handler 每一个属性都对应一个处理函数
- get > 用来拦截目标对象的属性访问
- set
#+BEGIN_SRC js
let a = new Proxy({},{
set:function(a,b,c){
console.log("set:",a,b,c);
}
})
a.a=1 //set: {} a 1
// a 为目标对象
// b 为目标对象的属性
// c 为属性的值
#+END_SRC
*** Reflect
:PROPERTIES:
:CUSTOM_ID: reflect
:END:
-
*** export
:PROPERTIES:
:CUSTOM_ID: export
:END:
- 对它的使用不能在代码块的 top level 以下
- 使用时在对变量的栈堆要包括在 ={}= 中
在 Emacs 中的样子:
转的命令 $ pandoc -f markdown -t org -o es6.org -s es6.md