按照SocketIO网站上的文档,我有以下代码:
服务器
socket.on('foo', (arg, ack) => {
//Do stuff with arg
if(ack)
ack('response');
});
Run Code Online (Sandbox Code Playgroud)
客户
socket.emit('foo', arg, (response) => {
console.log(response);
});
Run Code Online (Sandbox Code Playgroud)
但是,ack从不调用该函数.事实上,确实如此undefined.我在服务器端和客户端都使用SocketIO v2.0.4.
我错过了什么吗?文档使它看起来应该很容易,但我无法理解它!
谢谢!
我最近研究了使用Prettier来帮助维护一致的代码结构。我找到了Prettier VSCode 插件,发现它还有一个使用Prettier-eslint 的选项。在大多数情况下,它都很棒,但是 Prettier 所做的一件事确实让我抓狂。
假设我在renderReact 组件的函数中有这个:
return (
<button
onClick={
(e) => {console.log('Hello, world!');}
}
>
Click Me
</button>
);
Run Code Online (Sandbox Code Playgroud)
这正是我想要的代码格式,但 Prettier 不断将其变成这样:
return (
<button
onClick={(e) => {
console.log('Hello, world!');
}}
>
Click Me
</button>
);
Run Code Online (Sandbox Code Playgroud)
因此,它删除了左括号之后和右括号之前的换行符。
是否有一个选项可以关闭此功能,或者我可以使用某种插件(对于 Prettier 和/或 Eslint)?我四处搜寻,但找不到任何能完全涵盖这一点的内容。
谢谢!