小编Jer*_*oen的帖子

NodeJs,javascript:.forEach似乎是异步的?需要同步

我目前正在与3个朋友一起使用nodeJs,expressJs,MongoDB,html5进行一个项目......由于我们对这些技术还不熟悉,我们遇到了一些问题.我无法找到解决方案的一个大问题是某些代码的异步执行.

我想要为每个循环完成,以便我有一个更新的在线好友列表,然后执行res.render(我在其中传递在线好友列表),因为当前它在完成循环之前执行res.render .码:

function onlineFriends(req, res) {
var onlinefriends = new Array();
onlinefriends.push("mark");
FriendList.findOne({
    owner: req.session.username
}, function (err, friendlist) {
    friendlist.friends.forEach(function (friend) { // here forEach starts
        OnlineUser.findOne({
            userName: friend
        }, function (err, onlineFriend) {
            if (onlineFriend != null) {
                onlinefriends.push(onlineFriend.userName);
                console.log("a loop");
            }
        });

    });  
        console.log("online friends: " + onlinefriends);
        console.log("redirecting");
        res.render('index', { // this is still inside the forEach function
            friendlist: friendlist.friends,
            onlinefriendlist: onlinefriends,
            username: req.session.username
        });// and here it ends
});
Run Code Online (Sandbox Code Playgroud)

}

输出如下:

online friends: mark …
Run Code Online (Sandbox Code Playgroud)

javascript foreach asynchronous synchronous node.js

14
推荐指数
2
解决办法
2万
查看次数

Hibernate异常; 找到了同一个集合的两个表示

在使用Hibernate处理Spring 3 MVC项目时,我们遇到了一个恼人的错误.我们正在创建一个拼车应用程序.人们可以添加路线(使用jQuery的Gmap 3插件)并可以为其路线添加路标.在数据库中,航点具有路线的外键.当尝试更新路线(添加/删除航点并重新保存路线)时,我们得到"找到同一集合的两个表示"错误.我们已经研究了互联网,但主要的话题谈论播放框架(我们不使用),此外他们谈论注解的配置方法(而我们使用XML映射).有谁知道我们如何解决这个问题?或者这是Hibernate本身的问题?

一些代码澄清了问题:

路由类的XML映射:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="be.kdg.teamb.model.pojo.Route" table="route">
        <id name="routeid" type="java.lang.Integer">
            <generator class="identity"/>
        </id>
        <property name="departure" not-null="true"/>
        <property name="latitude_departure" />
        <property name="longtidude_departure" />
        <property name="destination" not-null="true"/>
        <property name="latitude_destination" />
        <property name="longtidude_destination" />
        <property name="departureTime" not-null="true" type="java.util.Date" />
        <property name="startDate" not-null="true" type="java.util.Date"/>
        <property name="endDate" type="java.util.Date" />
        <many-to-one name="driver" column="userid" not-null="true" cascade="save-update" />
        <many-to-one name="defaultCar" column="carid" not-null="true" cascade="save-                update"/>
        <set name="waypoints" cascade="all,delete-orphan" inverse="true">
            <key column="routeid" on-delete="cascade" />
            <one-to-many class="be.kdg.teamb.model.pojo.Waypoint" /> …
Run Code Online (Sandbox Code Playgroud)

java hibernate exception spring-mvc

5
推荐指数
1
解决办法
7029
查看次数