看来,Node.js的(版v0.10.13)返回包间的命令(和\n),这里有一个小例子:
require('repl').start({
'eval': function (cmd, context, filename, callback) {
callback(null, cmd);
}
});
Run Code Online (Sandbox Code Playgroud)
行为如下:
$ node repl.js
> asd
'(asd\n)'
>
Run Code Online (Sandbox Code Playgroud)
这是为什么?如果这个功能是记录当时我没能找到它.
此外,如果这是预期的行为,有没有比做更好的解决方案cmd = cmd.slice(1, -2);?
因此,在检查远程实例时,任何常规DevTools 实例中通常存在的设备工具栏似乎都丢失了。

在这种情况下,设备类型设置为“移动”,鼠标指针设置为圆圈,以表明这一点。
重现此内容的方法如下:
启动一个新的无头实例,例如:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --headless https://example.com
Run Code Online (Sandbox Code Playgroud)
使用另一个 Chrome 实例导航到chrome://inspect并检查远程选项卡。
如您所见,没有设备工具栏。

我还尝试发送一些Chrome DevTools 协议命令,例如:
但无济于事,发生了一些事情,但行为看起来被破坏了......我怀疑这是与 DevTools 前端有关的事情,而不是与检查的 Chrome 实例有关。
您知道我该如何解决这个问题吗?我的最终目标是使用桌面设备类型手动与远程无头实例交互。
google-chrome google-chrome-devtools chrome-remote-debugging
我不是在问是否可以从另一个 Makefile 调用 Makefile。
假设我有一个生成可执行文件的规则,如下所示:
my-prog: some.o local.o dependencies.o
Run Code Online (Sandbox Code Playgroud)
现在假设我开始使用第三方库。我想保留这个内置语法,只是将外部规则添加到依赖项列表中:
my-prog: some.o local.o dependencies.o somelib/libsomelib.a
Run Code Online (Sandbox Code Playgroud)
但这行不通:
No rule to make target 'somelib/libsomelib.a', needed by 'my-prog'.
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过显式调用另一个 Makefile 来解决这个问题:
my-prog: some.o local.o dependencies.o
$(MAKE) -C somelib/ libsomelib.a
$(CC) $(LDFLAGS) -o $@ $^ somelib/libsomelib.a
Run Code Online (Sandbox Code Playgroud)
但这就是我试图避免的。有任何想法吗?
为什么以下无效,我应该怎么做才能使其工作?
struct Foo;
impl Foo {
fn mutable1(&mut self) -> Result<(), &str> {
Ok(())
}
fn mutable2(&mut self) -> Result<(), &str> {
self.mutable1()?;
self.mutable1()?;
Ok(())
}
}
Run Code Online (Sandbox Code Playgroud)
此代码产生:
error[E0499]: cannot borrow `*self` as mutable more than once at a time
--> src/lib.rs:10:9
|
8 | fn mutable2(&mut self) -> Result<(), &str> {
| - let's call the lifetime of this reference `'1`
9 | self.mutable1()?;
| ---- - returning this value requires that `*self` is borrowed for `'1`
| | …Run Code Online (Sandbox Code Playgroud) 我期望下面的代码片段永远挂起,因为承诺永远不会被履行或拒绝,相反,JavaScript 运行时会被简单地终止,并且后面的代码永远await不会被执行。
(async function () {
console.log('so far so good');
await new Promise(() => {});
console.log('never printed');
})();Run Code Online (Sandbox Code Playgroud)
更糟糕的是,上述情况也会动态发生,即在某个事件发生后 Promise 变得无法履行/拒绝,例如以下仅使运行时保持活动状态一秒钟:
(async function () {
console.log('so far so good');
await new Promise((fulfill, reject) => {
const timeout = setTimeout(fulfill, 2000);
setTimeout(() => {
clearTimeout(timeout);
}, 1000);
});
console.log('never printed');
})();Run Code Online (Sandbox Code Playgroud)
至少可以说这是违反直觉的,这背后的理由是什么?更重要的是,您能否将我链接到处理此行为的文档/规范?
我尝试用两个版本创建相同的图形,这里是Bl.ocks:
这些示例改编自一个官方示例.
当存在多个连接组件时会出现差异.在版本4中,有两件事对我来说不起作用:
拖动一个连接的组件使其他组件以非物理方式非常非常地转换(我猜)力中心;
在鼠标按下时(即使没有实际移动),其他连接的组件无限移动,最终离开屏幕.
简而言之,版本3中的图形是牢不可破的,无论您将节点弄得多少,它们最终都会返回到稳定的位置.
如何修复这两种行为,使模拟更接近版本3?