【发布时间】:2017-11-13 10:24:36
【问题描述】:
我正在尝试集成通过套接字发送实时信息(使用 socket.io)和使用 OneSignal 平台发送推送通知。
碰巧如果我把所有东西都放在同一个模块中,我不知道为什么在发送信息之后,或者在发送信息之前没有执行发送通知的方法。
如果我运行命令 npm start 不会出现错误,但通知会在本地或远程服务器运行时立即到达,这样我不希望它发生。
user.js
var express = require('express');
var router = express.Router();
var misocket = require('../routes/misocket');
var notificacion = require('../routes/notificacion');
/*
run module when start server run, i don't want it
notificacion();
*/
/* GET users listing. sendnote*/
router.post('/sendasig', function(req, res, next) {
console.log(misocket);//registrednote
misocket.emit("registrar",req.body);
//run here, after the send data across post request
notificacion();
console.log(req.body);
res.status(200).json({
message : "send message"
});
});
module.exports = router;
notificacion.js
module.exports = function(){
var OnesignalNotificationApi = require('onesignal-notification');
var api = new OnesignalNotificationApi('N2FkY2ZkZWQtMGQ2MS00ZTUwLTlkM2QtODA2NmE0YjBiMzQ3',
'c4b92cce-4d59-4550-a4be-20939370e39c');
var message = {
it: 'Some message',
en: 'Some message',
es: 'Nueva Calificacion'
};
api.sendToAll(message, null, function(err, res){
console.log(err);
console.log(res);
});
};
index.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
misocket.js
var i = 0;
var ioapp;
exports.connection= function(io){
ioapp = io;
io.on('connect',function(s){
console.log("Conectado");
});
};
exports.io = ioapp;
【问题讨论】:
标签: javascript node.js express push-notification