首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:“this.adapter.clients”时使用publishCreate

错误:“this.adapter.clients”时使用publishCreate
EN

Stack Overflow用户
提问于 2017-04-04 17:16:34
回答 1查看 101关注 0票数 0

我收到了这个错误

代码语言:javascript
复制
TypeError: this.adapter.clients is not a function
at Namespace.clients (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/sails-hook-sockets/node_modules/socket.io/lib/namespace.js:253:16)
at Object.addRoomMembersToRooms (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/sails-hook-sockets/lib/sails.sockets/add-room-members-to-rooms.js:50:42)
at introduce (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1342:23)
at wrapper [as introduce] (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:3095:19)
at publishCreateSingle (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1237:16)
at /Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1069:16
at arrayEach (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:1289:13)
at Function.<anonymous> (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:3345:13)
at publishCreate (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/lib/hooks/pubsub/index.js:1068:11)
at wrapper [as publishCreate] (/Users/oteng/.nvm/versions/node/v4.6.0/lib/node_modules/sails/node_modules/lodash/index.js:3095:19)

当我尝试在创建了publishCreate记录之后,使用了创建函数

代码语言:javascript
复制
Tbl_Direct_Cash.create({
            amount_paid: amount_paid,
            payment_type: payment_type,
            payment_ID: payment_ID,
            tbl_user: tbl_user
        }).exec(function (e, r) {
            if (e) {
                console.log(e);
                return res.ok('TRANSACTION FAILED....TRY AGAIN');
            } else {

                //console.log(e);
                Tbl_Direct_Cash.publishCreate({id: 40});
                return res.ok('TRANSACTION SAVED');

            }
        });

这是我的手表方法

代码语言:javascript
复制
notify: function (req, res) {
    if (req.isSocket) {
        Tbl_Direct_Cash.watch(req);
        Tbl_Deduction.watch(req);
        // Gene.watch(req);
        return res.ok()
    }
}

创建请求是在发出通知请求时从移动应用程序发送的。

代码语言:javascript
复制
io.socket.on('connect', function () {
    io.socket.get('/dashboard/notify', function (e, r) {
        console.log(e, r);
    });
})

从管理客户端发送。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-09 23:50:57

我的socket.io-redis版本很老了。将其更新为最新版本解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43213690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档