当我键入代码时,如何描述函数需要哪些参数并使它们可见?
当前,我的产品模型中用于此功能的代码如下所示。如何以一种暗示返回值的方式定义回调函数?
static findById(id, cb1) {
fs.readFile("./src/database/products.json", (err, data) => {
if (err) {
cb1(err, product);
} else {
const products = JSON.parse(data);
const product = products.find(p => p.id == id);
cb1(err, product);
}
});
};
答案 0 :(得分:2)
答案 1 :(得分:1)
使用:Javascript documentation starndards
或您需要使用Typescript定义函数界面:
static findById(id: number, cb1: (err: {}, product: {}) => void) {
fs.readFile("./src/database/products.json", (err, data) => {
if (err) {
cb1(err, product);
} else {
const products = JSON.parse(data);
const product = products.find(p => p.id == id);
cb1(err, product);
}
});
};
答案 2 :(得分:0)
好的,谢谢您的帮助!似乎仅使用不带Typescript的jsdocs就足够了。我不知道jsdocs在vscode中如何工作。将代码更改为一个波纹管后,我得到了想要的东西。我会再玩这个。
/**
* Finds a `product` with the given `id` and executes a callback `fn` containing the result.
* @param {number} id
* @param {(err : Error, product: string) => void} callback
*/
static findById(id, callback) {
fs.readFile("./src/database/products.json", (err, data) => {
if (err) {
callback(err, product);
} else {
const products = JSON.parse(data);
const product = products.find(p => p.id == id);
callback(err, product);
}
});
};