JavaScript 参数在箭头函数中使用但未在局部范围内的任何地方声明 - Twilio 函数
JavaScript parameter used in arrow function but not declared anywhere in local scope - Twilio function
我正在处理一个预先存在的 Twilio 函数,并试图了解以下代码的工作原理。我已经测试了几次,只要我发送 'from' phone 号码任何消息,我都会收到 'body' 中描述的响应。但是,我试图了解 'msg' 和 'err' 参数如何存在,因为它们没有在函数的其他地方声明。有人可以帮我理解这些参数是如何有效的吗?我是 JavaScript 的新手,只了解回调和承诺的基础知识。
编辑:我开始更加理解这个想法。所以 'then' 和 'catch' 语句是在 create() 函数完成后发生的回调。感谢您帮助我理解的答案。
exports.handler = function(context, event, callback) {
context.getTwilioClient().messages.create({
to: '+14806484732 ',
from: '+12133151685',
body: '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
中给出的函数是回调函数,它们都采用单个参数。根据功能文档,这些参数中的每一个都有特定的含义,您可以查阅。但是,如果您要自己编写回调,则可以随意调用它们。名称的选择只是为了尽可能清楚地传达语义。
因此,它们本质上只是匿名函数的参数。
我强烈建议研究 Javascript 中的回调,因为它们无处不在。
我正在处理一个预先存在的 Twilio 函数,并试图了解以下代码的工作原理。我已经测试了几次,只要我发送 'from' phone 号码任何消息,我都会收到 'body' 中描述的响应。但是,我试图了解 'msg' 和 'err' 参数如何存在,因为它们没有在函数的其他地方声明。有人可以帮我理解这些参数是如何有效的吗?我是 JavaScript 的新手,只了解回调和承诺的基础知识。
编辑:我开始更加理解这个想法。所以 'then' 和 'catch' 语句是在 create() 函数完成后发生的回调。感谢您帮助我理解的答案。
exports.handler = function(context, event, callback) {
context.getTwilioClient().messages.create({
to: '+14806484732 ',
from: '+12133151685',
body: '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
中给出的函数是回调函数,它们都采用单个参数。根据功能文档,这些参数中的每一个都有特定的含义,您可以查阅。但是,如果您要自己编写回调,则可以随意调用它们。名称的选择只是为了尽可能清楚地传达语义。
因此,它们本质上只是匿名函数的参数。
我强烈建议研究 Javascript 中的回调,因为它们无处不在。