箭头参数中使用的JavaScript参数,但未在本地范围内的任何地方声明-Twilio函数

问题描述 投票:0回答:2

我正在使用一个预先存在的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));
}
javascript callback twilio
2个回答
0
投票

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')

0
投票

thencatch中给定的函数都是都使用单个参数的回调。这些参数中的每个参数都有特定的含义,这些含义可以在功能文档中查找。但是,如果您自己编写回调,则可以随意调用它们。仅选择名称以尽可能清晰地传达语义。

© www.soinside.com 2019 - 2024. All rights reserved.