2016-07-29 54 views
6

下面是的NodeJS服务器上运行我的代码,我只要'child_added'事件被触发如何从功能外传递一个变量到一个火力点事件

// Twilio Credentials 
var accountSid = '<AccountSid>'; 
var authToken = '<authToken>'; 


var twilio = require("twilio"); 
var client = new twilio.RestClient(accountSid, authToken); 

// TWILIO Function 
client.messages.create({ 
    to: "+12432056980", // This need to be obtained from firebase 
    from: "+14352058756", 
    body: "Hey There! Good luck on the bar exam!" 
}, function(err, message) { 
    console.log(message.sid); 
}); 

下面试图send an SMS message是事件只要将一个孩子添加到firebase database就会触发,我想在下面的事件触发时立即调用TWILIO函数(如上所示),并且还将下面的函数的移动号码变量传递给它。

ref.limitToFirst(1).on('child_added', function(snapshot) { // This function triggers the event when a new child is added 
    var userDetails = snapshot.val(); 
    var mobileNumber = userDetails.mobileNumber; 

    //*** I would like to call the TWILIO CODE at this point and pass it the 'mobileNumber' parameter 

}); 
+0

你能否详细介绍一下你需要做什么,我不知道twilio是如何工作的,或者你的意思是firebase。传递该值与使用参数一样简单,我没有看到问题? – Dellirium

+0

事件处理程序位于何处?与twilio需要的文件相同? – 10100111001

+0

@Dellirium我简化了我的问题,Firebase是来自Google的实时数据库,Twilio为开发人员提供了使用其API发送短信的方法。 – kurrodu

回答

5

如果这两个操作是在同一文件中,你可以只是包装在一个函数调用Twilio从像这样的Firebase操作中调用它...

function sendSMS(dest, msg) { 
    client.messages.create({ 
     to: dest, 
     from: "+14352058756", 
     body: msg 
    }, function(err, message) { 
     console.log(message.sid); 
    }); 
} 

ref.limitToFirst(1).on('child_added', function(snapshot) { 
    var userDetails = snapshot.val(); 
    var mobileNumber = userDetails.mobileNumber; 

    sendSMS(mobileNumber, "Hey There! Good luck on the bar exam!"); 
}); 

如果Twilio操作在不同的文件中,你可以将其导出,并要求在您使用Firebase

//twiliofile.js 
module.exports.sendSMS = function(dest, msg) { 
    client.messages.create({ 
     to: dest, 
     from: "+14352058756", 
     body: msg 
    }, function(err, message) { 
     console.log(message.sid); 
    }); 
} 

-

//firebasefile.js 
var sms = require('./twiliofile.js'); 

ref.limitToFirst(1).on('child_added', function(snapshot) { 
    var userDetails = snapshot.val(); 
    var mobileNumber = userDetails.mobileNumber; 

    sms.sendSMS(mobileNumber, "Hey There! Good luck on the bar exam!"); 
}); 
+0

嗨m_callens,感谢您在Twilio标记的社区中的帮助。我可以给你发衬衫说谢谢吗?有关详细信息,请发送电子邮件至[email protected]。 –

相关问题