尽管我了解Angular发出AJAX请求的方式,但我更喜欢使用内置的Fetch API,因为我不必仅订阅1个简单的请求就可以取消订阅。我尝试在我的有角度的应用程序中使用它,它没有引发任何错误,页面没有重新加载(仍然是SPA),一切正常。我想一切都有时间和地点。
这个:
window.fetch('/api/get_post_by_id/1').then(r => r.json()).then(j => { console.log(j); });
Run Code Online (Sandbox Code Playgroud)
比这更简单:
const obs = this.http.get('/api');
obs.subscribe(() => { ... });
obs.unsubscribe();
Run Code Online (Sandbox Code Playgroud)
基本上我的问题是,在开发Angular应用程序时使用Fetch API是否错误?
谢谢!
我想使用sequelize.js来查询具有包含约束的记录的模型.我怎么做?
这就是我现在所拥有的:
Assets
.findAll({ limit: 10, where: ["asset_name like ?", '%' + request.body.query + '%'] })
.then(function(assets){
return response.json({
msg: 'search results',
assets: assets
});
})
.catch(function(error){
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
{ error: operator does not exist: character varying @> unknown
at Connection.parseE (/home/travellr/safe-star.com/SafeStar/node_modules/pg/lib/connection.js:554:11)
at Connection.parseMessage (/home/travellr/safe-star.com/SafeStar/node_modules/pg/lib/connection.js:381:17)
at Socket.<anonymous> (/home/travellr/safe-star.com/SafeStar/node_modules/pg/lib/connection.js:117:22)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:548:20)
name: 'error',
length: 209,
severity: 'ERROR',
code: '42883',
detail: undefined,
hint: 'No operator matches the given …Run Code Online (Sandbox Code Playgroud) 我正在使用 google firebase 的 firestore。我想知道是否有办法查询属性/字段与正则表达式匹配的文档。像这样的东西:
var username_regex = /^[a-z0-9\-\_\.]{3,}$/;
firebase.firestore().collection('users')
.where("username", "==", username_regex)
.get()
Run Code Online (Sandbox Code Playgroud)
这还有可能吗?如果没有,谷歌实现这样的事情的可能性有多大?
所以我想在查询中使用for循环,如果记录的字段等于对象的属性(在对象列表中),则拉取结果我该怎么做?这是我的代码:
you = session.query(Users).filter_by(id=login_session['userid']).first()
friends = session.query(Friends).filter_by(user_id=login_session['userid']).all()
dashboard = session.query(Markers).filter(Markers.owner == f.friend_id for f in friends).all()
Run Code Online (Sandbox Code Playgroud)
但后来我得到了这个:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1360, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1358, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1344, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/pearadox6/travellr/app.py", line 423, in feed
dashboard = session.query(Markers).filter(Markers.owner == f.friend_id for f in friends).all()
File "<string>", line 1, in <lambda>
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", …Run Code Online (Sandbox Code Playgroud) 所以我想做一个查询,其中一个字段等于for循环中对象的属性.这是一个使用sqlAlchemy的工作示例/示例:
you = session.query(Users).filter_by(id=login_session['userid']).first()
friends = session.query(Friends).filter_by(user_id=you.id).all()
dashboard = session.query(Markers).filter(Markers.owner.in_([f.friend_id for f in friends)]).all()
Run Code Online (Sandbox Code Playgroud)
我怎么在django做这个?
这是我试过的:
you = Accounts.objects.get(uname = request.session['username'])
following = Follows.objects.filter(userid=you.id)
POSTS = Posts.objects.filter(ownerid = [f.follow_id for f in following])
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
Traceback:
File "C:\Users\waite-ryan-m\Desktop\WPython\WinPython-64bit-2.7.12.1Zero\python-2.7.12.amd64\lib\site-packages\django\core\handlers\base.py" in get_response
149. response = self.process_exception_by_middleware(e, request)
File "C:\Users\waite-ryan-m\Desktop\WPython\WinPython-64bit-2.7.12.1Zero\python-2.7.12.amd64\lib\site-packages\django\core\handlers\base.py" in get_response
147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\waite-ryan-m\Desktop\WPython\WinPython-64bit-2.7.12.1Zero\python-2.7.12.amd64\lib\site-packages\django\utils\decorators.py" in _wrapped_view
149. response = view_func(request, *args, **kwargs)
File "C:\Users\waite-ryan-m\Desktop\epsity\webapp\views.py" in profileMain
102. POSTS = Posts.objects.filter(ownerid = [f.follow_id for f in following])
File "C:\Users\waite-ryan-m\Desktop\WPython\WinPython-64bit-2.7.12.1Zero\python-2.7.12.amd64\lib\site-packages\django\db\models\manager.py" …Run Code Online (Sandbox Code Playgroud) 我在处理数据库时并不迷失,但也不是专家。
我想在我的网站上实现无限滚动,这意味着数据需要按 date_created 或 id 降序排列。我最初的想法是在这样的查询中使用 LIMIT 和 OFFSET (使用 SQLalchemy):
session.query(Posts).filter(Posts.owner_id == _userid_).filter(Posts.id < post_id).orderBy(desc(Posts.id)).limit(5).all()
Run Code Online (Sandbox Code Playgroud)
翻译成这样:
SELECT * from posts WHERE owner_id = _userid_ AND id < _post_id_ ORDER BY id DESC LIMIT 10 OFFSET _somevalue_;
Run Code Online (Sandbox Code Playgroud)
在我的js中:
var minimum_post_id = 0;
var posts_list = [];
var post_ids = [];
function infinite_load(_userid_, _post_id_) {
fetch('/users/' + _userid_ + '/posts/' + _post_id_)
.then(r => r.json())
.then(data => {
console.log(data);
data.posts.forEach(post => { posts_list.push(post); post_ids.push(post.id) });
minimum_post_id = Math.min(...post_ids);
})
}
infinite_load(1, …Run Code Online (Sandbox Code Playgroud) 我想使用回调从 Java 列表中获取一个元素(不是索引)。
在 JavaScript 中,有一个Array.prototype.find方法可以做到这一点。例如:
let match = [1, 2, 3, 4, 5].find((num) => num === 3);
console.log(match); // 3
Run Code Online (Sandbox Code Playgroud)
Java 有等效的吗?
javascript ×5
python ×3
postgresql ×2
angular ×1
arraylist ×1
database ×1
django ×1
firebase ×1
http ×1
java ×1
list ×1
model ×1
orm ×1
sequelize.js ×1
sql ×1
sqlalchemy ×1
typescript ×1