我想知道用户/通知类型的最佳方案是什么,如下所示:
嵌入式通知方案
Notifications = new Schema ( {
message : String,
date : { type : Date, default: Date.now() }
read : { type: Boolean, default : false }
});
User = new Schema( {
username : String,
name : String,
notifications : [Notifications]
});
Run Code Online (Sandbox Code Playgroud)
优点:
缺点:
填充(DBRef like)对象
Notification = new Schema ({
message : String,
date : { type : Date, default : Date.now() } …Run Code Online (Sandbox Code Playgroud) 我有一个 Jest 的工作示例和来自的模拟__mocks__有效目录的模拟:
// package.json\n{\n "name": "a",\n "version": "1.0.0",\n "main": "index.js",\n "scripts": {\n "test": "jest"\n },\n ...\n "devDependencies": {\n "jest": "^26.6.3"\n },\n "dependencies": {\n "@octokit/rest": "^18.0.12"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n进而/index.js:
const { Octokit } = require("@octokit/rest");\n\nconst octokit = new Octokit();\n\nmodule.exports.foo = function() {\n return octokit.repos.listForOrg({ org: "octokit", type: "public" })\n}\nRun Code Online (Sandbox Code Playgroud)\n及其测试(/index.test.js ):
const { foo } = require("./index.js");\n\ntest("foo should be true", async () => {\n expect(await foo()).toEqual([1,2]);\n});\nRun Code Online (Sandbox Code Playgroud)\n … 我正在努力解决这个难题的Javascript OOP问题.
所以我有以下课程:
var ClassA = function() {
this.initialize();
}
ClassA.prototype = {
methods : ['alpha','beta','gama'],
initialize : function() {
for ( var i in this.methods ) {
this[this.methods[i]] = function() {
console.log(this.methods[i]);
}
}
}
}
var a = new ClassA();
Run Code Online (Sandbox Code Playgroud)
当我调用每个方法时,我希望打印出它的名字,对吧?但这是我得到的:
a.alpha(); // returns gama ?!?
a.beta(); // returns gama ?!?
a.gama(); // returns gama
Run Code Online (Sandbox Code Playgroud)
但是当我的班级看起来像这样:
var ClassB = function() {
this.initialize();
}
ClassB.prototype = {
methods : ['alpha', 'beta', 'gama'],
initialize: function() {
for ( var i …Run Code Online (Sandbox Code Playgroud) 我有以下钩子:
const useBar = () => {
const [myFoo, setFoo] = useState(0);
const [myBar, setBar] = useState(0);
useEffect(() => {
setFoo(myFoo + 1);
console.log("setting foo (1)", myFoo, myBar);
}, [setFoo, myFoo, myBar]);
useEffect(() => {
setBar(myBar + 1);
console.log("setting bar (2)", myFoo, myBar);
}, [setBar, myBar, myFoo]);
};
Run Code Online (Sandbox Code Playgroud)
使用组件时,我有无限循环的预期行为:
import React, { useState, useEffect } from "react";
import ReactDOM from "react-dom";
const Bar = () => {
useBar();
return <div>Bar</div>;
};
function App() {
return (
<Bar />
);
} …Run Code Online (Sandbox Code Playgroud) 我想弄清楚,为什么设置overflow-x: hidden到一个HTML页面的身体让我的元素position: fixed,即使我把它设置为position: absolute.
在此演示中可以更好地理解效果.
这是代码:
html,
body {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
overflow-x: hidden;/* If I remove this line everything is how I expect it to be! */
}
div.page {
position: relative;
width: 100%;
height: 100%;
min-height: 100%;
border: 1px solid red;
margin-bottom: 200px;
}
div.background {
background: blue;
position: absolute;
width: 100%;
height: 10%;
}Run Code Online (Sandbox Code Playgroud)
<div class='background'></div>
<div class='page'></div>
<div class='page'></div>
<div class='page'></div>
<div class='page'></div> …Run Code Online (Sandbox Code Playgroud)我正在寻找一种只有在另一个承诺失败时才能返回承诺的方法.
我怎样才能做到这一点?
我看起来像这样的承诺(当然我删除了不相关的代码):
getUserByUsername = function(username) {
return promise(function(resolve, reject) {
user = userModel.getByUsername(username);
if ( user ) { resolve(user); } else { reject("user not found"); }
});
};
getUserByEmail = function(email) {
return promise(function(resolve, reject) {
user = userModel.getByEmail(email);
if ( user ) { resolve(user); } else { reject("user not found"); }
});
};
checkPassword = function(user, password) {
return promise(function(resolve, reject) {
if ( user.isValidPassword(password) ) { resolve() } else { reject("password mismatch"); }
});
}; …Run Code Online (Sandbox Code Playgroud) 我不知道这只是我,但是
<fmt:formatNumber var="roundedNumber" value="2.5" type="number" pattern="#" />
Run Code Online (Sandbox Code Playgroud)
给我
<%-- ${roundedNumber} == 2 --%>
Run Code Online (Sandbox Code Playgroud)
你知道为什么formatNumber不将这个舍入为3吗?
UPDATE
似乎如果数字是ODD正确舍入,但如果它是偶数,则不是.
2.5 will be rounded 2
2.51 will be rounded 3
3.5 will be rounded 4
3.51 will be rounded 4
4.5 will be rounded 4
4.51 will be rounded 5
... etc
Run Code Online (Sandbox Code Playgroud) javascript ×2
css ×1
es6-promise ×1
html ×1
jestjs ×1
jsp ×1
jstl ×1
mocking ×1
mongodb ×1
mongoose ×1
promise ×1
react-hooks-testing-library ×1
reactjs ×1