小编rya*_*e28的帖子

Angular:Http vs获取API

尽管我了解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是否错误?

谢谢!

javascript http typescript angular

9
推荐指数
3
解决办法
3621
查看次数

Sequelize:查找所有匹配包含(不区分大小写)

我想使用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)

javascript sequelize.js

6
推荐指数
3
解决办法
1万
查看次数

Google Cloud Firestore:查询正则表达式

我正在使用 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)

这还有可能吗?如果没有,谷歌实现这样的事情的可能性有多大?

javascript firebase google-cloud-firestore

6
推荐指数
1
解决办法
1398
查看次数

在sqlalchemy查询中使用for循环

所以我想在查询中使用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)

python postgresql sqlalchemy

3
推荐指数
1
解决办法
1919
查看次数

Python Django - 模型:用于查询/过滤器中的循环

所以我想做一个查询,其中一个字段等于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)

python django orm model

2
推荐指数
1
解决办法
2678
查看次数

PostgreSQL 数据库 - 如何按顺序查询表(无限滚动)

我在处理数据库时并不迷失,但也不是专家。

我想在我的网站上实现无限滚动,这意味着数据需要按 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)

javascript python sql database postgresql

2
推荐指数
1
解决办法
1537
查看次数

使用 lambda/callback 从列表中获取元素 - 相当于 Array.prototype.find() 的 JS

我想使用回调从 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 java list arraylist

2
推荐指数
1
解决办法
4572
查看次数