我正在使用一个预先存在的Twilio函数,并试图了解以下代码的工作方式。我已经对其进行了几次测试,只要我向“发件人”电话号码发送任何消息,我都会得到“正文”中所述的回复。但是,我试图了解'msg'和'err'参数如何存在,因为它们未在函数的其他位置声明。有人可以帮助我了解这些参数的有效性吗?我是JavaScript新手,只了解回调和promises的基础。
编辑:我开始更多地了解这个想法。因此,“ then”和“ catch”语句是在create()函数完成之后发生的回调。感谢您为我提供的答案。
exports.handler = function(context, event, callback) {
context.getTwilioClient().messages.create({
to: '+14806484234 ',
from: '+12139851285',
body: 'Members on Tee Box 12 have requested service. Remember the special today is Shrimp Scampi'
}).then(msg => {
callback(null, msg.sid);
}).catch(err => callback(err));
}
err => callback(err)
-这是功能的声明。单个参数err
,执行功能callback
与]类似的情况>
.then(msg => { // `msg` is a single parameter of declared function callback(null, msg.sid); }
示例
const callback = argument => console.log(argument)
// this line is similar to
// const callback = (argument) => { console.log(argument) }
// also similar to
// function callback(argument) { console.log(argument) }
const func = err => callback(err)
// this line is similar to
// const func = (err) => { callback(err) }
// also similar to
// function func(err) { callback(err) }
func('test')
then
和catch
中给定的函数都是都使用单个参数的回调。这些参数中的每个参数都有特定的含义,这些含义可以在功能文档中查找。但是,如果您自己编写回调,则可以随意调用它们。仅选择名称以尽可能清晰地传达语义。