我正在创建一个mongoose静态方法'load',以便我的主控制器功能可以使用它(用于链接和错误处理).
UserSchema.load('54ae92dd8b8eef540eb3a66d')
.then(....)
.catch(....);
Run Code Online (Sandbox Code Playgroud)
事情是id是错误的,所以我需要抓住这个错误.我认为最好在模型层中执行此操作.
当我执行以下操作时,控制器可以捕获此错误.
UserSchema.statics.load = function(id) {
if (!mongoose.Types.ObjectId.isValid(id)) {
return Promise.resolve().then(function() {
throw new Error('not a mongoose id');
}); ------------( * )
}
return Promise.cast(this.findOne({
_id: id
}).exec());
};
Run Code Online (Sandbox Code Playgroud)
但是,如果我只执行以下操作,则错误未成功抛入控制器.catch函数.
AchievementSchema.statics.load = function(id) {
if (!mongoose.Types.ObjectId.isValid(id)) {
throw new Error('not a mongoose id');
}
return Promise.cast(this.findOne({
_id: id
}).exec());
};
Run Code Online (Sandbox Code Playgroud)
所以我的问题是我正确地这样做了吗?如果有,是否有更简单的方法来编写(*)语句?我在做什么似乎很丑..谢谢.
我有一个未知的反应组件列表要呈现.
// this is a react component
var DefaultModule = require('./DefaultModule.js');
Run Code Online (Sandbox Code Playgroud)
<DefaultModule/> <---这会输出一些东西,因为名字正是里面的类名 DefaultModule.js
但如果我这样做
// this is a react component
var sssss = require('./DefaultModule.js');
Run Code Online (Sandbox Code Playgroud)
<sssss/> <---这不行
那么我有没有办法获取组件名称列表并相应地渲染它们?谢谢.
ps:反应组件看起来像这样
import React, {PropTypes, Component} from 'react';
class TestComponent extends Component {
render() {
return (
<div>
1123123123123123 hahaha small test
</div>
);
}
}
export default TestComponent;
Run Code Online (Sandbox Code Playgroud) 我正在将代码部署到 AWS EC2。文档说有一些称为“用户数据”或“用户数据脚本”的东西,您可以在启动 ec2 实例时输入此信息,并且该脚本将在实例启动时执行。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts
以下是我的用户数据脚本:
#!/bin/bash
echo 1111 >> /home/ubuntu/1111.txt
export MONGODB_HOST=www.mongodb.com
export MONGODB_PORT=12345
export MONGODB_USER=user
export MONGODB_PASS=pass
Run Code Online (Sandbox Code Playgroud)
因此,当我使用此用户数据脚本启动实例时,我希望看到环境变量被设置,但事实并非如此。
那么我是不是做错了什么?
我有 2 个文件夹(使用不同的代码),并初始化了 git。但是当我这样做时
git difftool -t meld
Run Code Online (Sandbox Code Playgroud)
一个 repo 工作正常,并询问我是否要在 meld 中打开文件进行比较。另一个只是在控制台中输出所有内容而没有执行meld。
.git/config 文件也是相同的(除了 url)
有谁知道这是为什么?
当我做
Hello=123 npm run a && npm run b && npm run c
Run Code Online (Sandbox Code Playgroud)
我期望Hello=123环境变量在a, b and c进程内传递。但是事实证明只有a正确设置了环境变量。
我还有其他方法可以一次传递所有参数吗?
我想在这里做算术.我这样做的原因是为了防止乱码if else检查,d有时是null或undefined.
但是以下代码给了我一些意想不到的东西 谁能告诉我发生了什么?谢谢.
var t = 2;
var d = 2;
t + (d && 1 || 0) // logs 3
t + d && 1 || 0 // logs 1
Run Code Online (Sandbox Code Playgroud) 我正在尝试访问这样的对象属性:
var scope1 = {a: {value: 25}};
var scope2 = undefined;
var v1 = scope1.b.value || 0; // TypeError: Cannot read property 'value' of undefined
var v2 = scope2.b.value || 0; // TypeError: Cannot read property 'value' of undefined
Run Code Online (Sandbox Code Playgroud)
显然是 || 接线员没有给我我想要的。我知道我可以执行以下操作
var vv2 = (scope1 && scope1.b ? scope1.b.value : 0);
Run Code Online (Sandbox Code Playgroud)
但这使得代码非常冗长......所以有人知道是否有更简单的方法来做我想做的事情?谢谢。
我想迭代一个数组并对每个元素做一些事情
d = d.map(function(d){
return _.omit(d, 'password');
})
d = d.map(function(d){
return d.toString();
})
Run Code Online (Sandbox Code Playgroud)
这些功能正常.但是在它出现太多次后,代码变得非常混乱.
所以我想知道是否有更简单的方法来做我想做的事情?我希望只使用bind或apply关键字或某些模块(可能是lodash或下划线......)将代码减少到一行.这可能吗?
https://github.com/kriasoft/react-starter-kit
我有一个后端API服务器正在运行,我正在寻找一个前端框架.然后我遇到了这个似乎是一个很好的候选人的反应初学者工具包.
我的理解是,我一次只处理一个反应组件.我可以将所有代码逻辑(如API调用,DOM元素更改等)放在componentDidMount()中,这样DOM和逻辑之间就会有交互.(我对吗?)
import React, { PropTypes } from 'react'; // eslint-disable-line no-unused-vars
import styles from './ContactPage.less'; // eslint-disable-line no-unused-vars
import withStyles from '../../decorators/withStyles'; // eslint-disable-line no-unused-vars
@withStyles(styles)
class ContactPage {
static contextTypes = {
onSetTitle: PropTypes.func.isRequired
};
render() {
let title = 'Contact Us';
this.context.onSetTitle(title);
return (
<div className="ContactPage">
<div className="ContactPage-container">
<h1>{title}</h1>
<p>...</p>
</div>
</div>
);
}
}
export default ContactPage;
Run Code Online (Sandbox Code Playgroud)
这是我试图破解的反应组件的原始代码.我试图包含"请求"模块,以便我可以发出http请求.
var request = require('request'); // for backend API calls
componentDidMount() {
request('https://www.google.com')
}
Run Code Online (Sandbox Code Playgroud)
它没用.那我在这里做错了什么?谢谢.
错误消息很长,从以下消息开始.
./~/request/lib/har.js中的错误找不到模块:错误:无法解析/ Users/ssmlee04/Desktop/react-starter-kit/node_modules/request/lib …
javascript ×4
reactjs ×2
amazon-ec2 ×1
bluebird ×1
components ×1
dictionary ×1
difftool ×1
frontend ×1
git ×1
lodash ×1
meld ×1
mongodb ×1
mongoose ×1
promise ×1
shell ×1
unix ×1