对于需要保存在this构造函数中的值,我有哪些选择可以实现隐私?例如一个简单的Stack实现:
function Stack(){
this._stack = {}
this._counter = 0
}
Stack.prototype.push = function (item){
this._stack[this._counter++] = item
return this
}
Stack.prototype.pop = function (){
Reflect.deleteProperty(this._stack, --this._counter);
return this
}
Stack.prototype.peek = function (){
return this._stack[this._counter - 1]
}
Stack.prototype.length = function (){
return Object.values(this._stack).length
}
Run Code Online (Sandbox Code Playgroud)
如果这些方法没有定义为原型方法,我可以像这样轻松地私有它们:
function Stack(){
let _stack = {}
let _counter = 0
this.push = function (item){
_stack[_counter++] = item
return this
}
this.pop = function (){
Reflect.deleteProperty(_stack, --_counter);
return this
}
this.peek …Run Code Online (Sandbox Code Playgroud) 我同时使用 alacritty 和 tmux。是否可以在每次启动 alacritty 时都运行 tmux?
这是 React 网站上的示例:
const FancyButton = React.forwardRef((props, ref) => (
<button ref={ref} className="FancyButton">
{props.children}
</button>
));
Run Code Online (Sandbox Code Playgroud)
我怎样才能做同样的事function(){}?我想这样做是因为我想避免创建匿名函数来帮助调试。
我正在尝试将一个对象从端点传递到getSession,我相信它们都在服务器中运行。我可以获取通过 cookie 传递的值,但不能获取通过 cookie 传递的值request.locals.<variable>:
src/hooks.ts:
import cookie from 'cookie'
export async function handle({request, resolve}) {
const cookies = cookie.parse(request.headers.cookie || '')
request.locals.accessToken = cookies.accessToken
request.locals.refreshToken = cookies.refreshToken
const response = await resolve(request)
const accessToken = `accessToken=${request.locals.accessToken || ''}; Path=/; Secure; HttpOnly;`
const refreshToken = `refreshToken=${request.locals.refreshToken || ''}; Path=/; Secure; HttpOnly;`
response.headers['set-cookie'] = [accessToken, refreshToken]
return response
}
export async function getSession(request) {
console.log('check request local', request.locals)
return {
accessToken: request.locals.accessToken,
refreshToken: request.locals.refreshToken,
user: request.locals.user …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过创建一个简单的nodejs图像来学习docker:
# Dockerfile
FROM node:10
RUN npm install -g yarn
EXPOSE 8080
WORKDIR /usr/src/app
Run Code Online (Sandbox Code Playgroud)
当我运行时docker build -t "node10" .,出现以下错误:
> [2/3] RUN npm install -g yarn:
#5 2.007
#5 2.007 > yarn@1.22.10 preinstall /usr/local/lib/node_modules/yarn
#5 2.007 > :; (node ./preinstall.js > /dev/null 2>&1 || true)
#5 2.007
#5 2.565 npm ERR! code EEXIST
#5 2.573 npm ERR! syscall symlink
#5 2.581 npm ERR! path ../lib/node_modules/yarn/bin/yarn.js
#5 2.581 npm ERR! dest /usr/local/bin/yarn
#5 2.582 npm ERR! errno -17
#5 …Run Code Online (Sandbox Code Playgroud) 是否可以通过 Rust 中同一枚举的另一个变体来引用枚举的变体?
一些想象的代码:
enum Message{
Text(String),
Secret(Self::Text)
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将状态控制函数从组件提取到 Svelte 中的单个组件(或函数)以进行重用和解耦,例如 React hook。
我尝试封装一个计数器增量如下,但它不起作用。反应性丧失并且计数不增加。我应该如何在 Svelte 中正确提取状态控制功能?
useIncrement.svelte
<script context="module">
import {onMount} from 'svelte';
function useIncrement(){
let count = 0;
onMount(() => {
const interval = setInterval(() => count++, 1000);
return () => {
clearInterval(interval);
};
});
console.log('toggling')
return count
}
export {
useIncrement
}
</script>
Run Code Online (Sandbox Code Playgroud)
应用程序.svelte
<script>
import { useIncrement } from './useToggle.svelte'
import {onMount} from 'svelte';
let count = useIncrement()
</script>
<div class="App">
<p>Page has been open for <code>{count}</code> seconds.</
</div>
Run Code Online (Sandbox Code Playgroud) 我知道git add .会递归地将文件和目录添加到暂存树中,但我只想在当前目录中添加文件,而忽略所有目录。我怎样才能做到这一点?
假设我有一个这样的代码块:
await store.dispatch(getLicensesThunk('content', submission))
Run Code Online (Sandbox Code Playgroud)
我想删除getLicensesThunk 括号内的所有内容,我应该使用什么命令?
await store.dispatch(getLicensesThunk())
Run Code Online (Sandbox Code Playgroud)
我目前使用d%这个,但它也会删除括号,这不是我想要的。
await store.dispatch(getLicensesThunk)
Run Code Online (Sandbox Code Playgroud)