以下是一个例子:
var promise = new Promise(function(resolve, reject) {
throw new Error('test');
});
promise.catch(function(error) {
console.log(error + ' 1 ');
return error
}).catch(function(error) {
console.log(error + ' 2 ');
return error
})
Run Code Online (Sandbox Code Playgroud)
代码的结果是:
Error: test 1
Run Code Online (Sandbox Code Playgroud)
可以看出,第二次catch
调用不起作用.这是否意味着Promise无法使用链式语法来处理错误catch
?有没有办法将当前错误传递给下一个catch()
调用?
我想从一个函数中使用一些C代码,但是,该函数有300多行代码和20个变量,这让我很难处理.
我只是想知道是否有这样的工具可以自动地将小函数与大函数分离(重构).那么它将节省我很多时间来处理这样的长期功能.
(我认为这不是一件非常困难的事情,因为这个工具只需要分析第一次定义变量的位置,以及最后使用变量的位置,然后给我一些关于在哪里拆分的建议. )
例如,我有以下代码:
(defun toggle-light ()
"Toggle setting tab widths between 4 and 8"
(setq a
(if (boundp 'a) a nil))
(interactive)
(if a
(progn
(load-theme 'solarized-dark t)
(setq a nil))
(progn
(load-theme 'solarized-light t)
(setq a t) )))
Run Code Online (Sandbox Code Playgroud)
现在我想重构这个块替换变量名a
同is-lighted
,但不改变其它字符a
换句话说,(例如,interactive
或tab
).
emacs中是否有内置功能可以完成这项工作?
当我在gdb中调试它们时,它们似乎有所不同.
(gdb) p order[1]
$16 = (struct order_s *) 0x746440
(gdb) p *order+1
$17 = (struct order_s *) 0x746430
(gdb) p *order
$18 = (struct order_s *) 0x746420
Run Code Online (Sandbox Code Playgroud)
C中*a [1]和*(*a + 1)之间有什么区别?
可能重复:
使用find&du获取文件夹的总大小
我可以使用du这样来获取每个文件的文件大小 stdin
find . -name "*.java" -exec du -h {} \;
Run Code Online (Sandbox Code Playgroud)
但我不能得到总大小..有没有人有这个想法?谢谢!
我想改变HTML元素的顺序:
<div id="d1">
<div id="dd1"></div>
<table id="t1"></table>
<div id="be_top"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
至:
<div id="d1">
<div id="dd1"></div>
<div id="be_top"></div>
<table id="t1"></table>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有人有关于如何做到这一点的想法?谢谢!
像这样:
> (my-append (list 1 2) 3)
'(1 2 3)
Run Code Online (Sandbox Code Playgroud)
我知道,append
在racket
实际上是连接两个列表.而cons
只是一个元素添加到了头一个列表,而不是尾巴
有没有人有这个想法?
输入文件1:
1
5
6
Run Code Online (Sandbox Code Playgroud)
输入文件2:
4.5
6.7
9.9
Run Code Online (Sandbox Code Playgroud)
输出:
1 4.5
5 6.7
6 9.9
Run Code Online (Sandbox Code Playgroud)
我尝试了join
但是它不起作用,因为没有共同的领域.有没有人有这个想法?
输入1:
1 s1
100 s100
90 s90
Run Code Online (Sandbox Code Playgroud)
输入2:
a 1
b 3
c 7
d 100
e 101
f 90
Run Code Online (Sandbox Code Playgroud)
输出:
a 1
d 100
f 90
Run Code Online (Sandbox Code Playgroud)
我知道join
可以这样做,但它需要(1)在连接后对这些公共字段(2)进行排序,我需要从input1中删除第二列.有没有人有更好的解决方案.
该过程类似于以下root
是一个文件,其所有者是root
:
~$ ln root another_file
~$ ls -l another_file
-rw-r--r-- 2 root root 0 Jan 24 15:48 another_file
~$ rm another_file
rm: remove write-protected regular empty file `another_file'? y
~$ ls -l another_file
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用..
~$ ln root another_file
~$ chmod a+w another_file
chmod: changing permissions of `another_file': Operation not permitted
Run Code Online (Sandbox Code Playgroud)