node.js异步操作多,怎么写注释?

2014-01-11 15:38:08 +08:00
 rekey
如题.
类似如下代码.返回的是一个Promise,如何明确的通过注释告知返回值?

/**
* 检测图片信息
* @param {String} imagePath 需要检测的图片路径
* @type {Object}
* @returns {Object} 通过Promise对象返回图片相关信息
*/
function identify(imagePath) {
var deferred = when.defer();
imagemagick.identify(imagePath, function (err, data) {
if (err) {
deferred.reject({
'errno' : 3,
'message' : 'file is not a image.'
});
} else {
var channel_statistics = data['channel statistics'];
deferred.resolve({
size : data.filesize,
width : data.width,
height : data.height,
type : mimeTypes[data.format],
mean : [channel_statistics.red.mean.replace(/\.[\d]+ \(.*\)/, ''), channel_statistics.green.mean.replace(/\.[\d]+ \(.*\)/, ''), channel_statistics.blue.mean.replace(/\.[\d]+ \(.*\)/, '')]
});
}
});
return deferred.promise;
}
7488 次点击
所在节点    Node.js
7 条回复
tamamaxox
2014-01-11 22:31:29 +08:00
when.js
tamamaxox
2014-01-11 22:35:33 +08:00
哦..不就备注了resolve吗
rekey
2014-01-11 22:42:00 +08:00
@tamamaxox 好吧,突然想通了.如果代码过长而看不到resolve应该也是不科学的.

刚刚YUIDoc和jsdoc都试了试.貌似@example都会导致注释太长.

纠结啊.
XadillaX
2014-01-13 14:03:38 +08:00
用async吧
acecode
2014-01-13 16:47:31 +08:00
异步操作最好用个异步库整理下,async, Q 啊神马的
rekey
2014-01-14 11:35:01 +08:00
@XadillaX 嗯,这些都有做.我现在只是想探讨怎么写注释.
rekey
2014-01-14 11:35:45 +08:00
@acecode var deferred = when.defer(); 代码大概第二行就是这个,您是不是偶尔也需要多了解异步处理的方式?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/96582

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX