gpt4 book ai didi

javascript 函数回调,参数(错误、响应、正文)顺序重要吗?

转载 作者:行者123 更新时间:2023-11-28 17:19:15 25 4
gpt4 key购买 nike

在 javascript 中,一个用于执行回调或返回异步函数的 promise ...我只是想知道,这如何与回调或 promise 中的参数一起使用,我的意思是人们经常看到这样的事情:

function (error, response, body)  {..}

这里定义了回调参数的顺序吗?或者换句话说:javascript是否以某种方式“知道”什么是“错误”参数以及其他任何东西? javascript 中是否有保留关键字,例如“error | err | e”等?

例如,我在这里看到了这段代码:

const bcrypt = require('bcrypt');
const password = 'Top Secret';

bcrypt.hash(password, 10, (err, hash) => {
if (err) {
throw err;
}
console.log('Your hash: ', hash);
});

其中“err”是第一个参数,数据是第二个参数,但是:

bcrypt.hash(password, 10).then(
hash => {
console.log('Your hash: ', hash);
},
err => {
console.log(err);
}
);

显然 hash 是 promise 中的第一个参数,err 是第二个参数,所以我的问题是:javascript 一般如何知道错误和其他参数是什么?有相关文档或指南吗?

最佳答案

Is the order of callback arguments defined here?

是的:它在 request 函数的文档中给出,因为这就是它调用回调的方法。

Or otherwise said: Does javascript somehow "know" about what an "error" parameter and anything else is? Are there reserved keywords in javascript for e.g "error | err | e", etc.?

没有。该语言没有为任何参数名称赋予特殊含义。

"err" is first argument, the data is second

这只是一个(非常常见)约定,记录于 Why does node prefer error-first callback? , https://docs.nodejitsu.com/articles/errors/what-are-the-error-conventions/http://nodeguide.com/style.html#callbacks .

apparently hash is first argument in the promise, and err is second parameter

不,这只是 promise then method接受两个回调,一个用于成功情况,一个用于错误情况。参数的名称(或者是否有任何参数)无关紧要。

关于javascript 函数回调,参数(错误、响应、正文)顺序重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52753819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com