V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rekey
V2EX  ›  Node.js

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

  •  
  •   rekey · 2014-01-11 15:38:08 +08:00 · 7451 次点击
    这是一个创建于 3729 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题.
    类似如下代码.返回的是一个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;
    }
    7 条回复    1970-01-01 08:00:00 +08:00
    tamamaxox
        1
    tamamaxox  
       2014-01-11 22:31:29 +08:00 via Android
    when.js
    tamamaxox
        2
    tamamaxox  
       2014-01-11 22:35:33 +08:00 via Android
    哦..不就备注了resolve吗
    rekey
        3
    rekey  
    OP
       2014-01-11 22:42:00 +08:00
    @tamamaxox 好吧,突然想通了.如果代码过长而看不到resolve应该也是不科学的.

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

    纠结啊.
    XadillaX
        4
    XadillaX  
       2014-01-13 14:03:38 +08:00
    用async吧
    acecode
        5
    acecode  
       2014-01-13 16:47:31 +08:00
    异步操作最好用个异步库整理下,async, Q 啊神马的
    rekey
        6
    rekey  
    OP
       2014-01-14 11:35:01 +08:00
    @XadillaX 嗯,这些都有做.我现在只是想探讨怎么写注释.
    rekey
        7
    rekey  
    OP
       2014-01-14 11:35:45 +08:00
    @acecode var deferred = when.defer(); 代码大概第二行就是这个,您是不是偶尔也需要多了解异步处理的方式?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1126 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:48 · PVG 02:48 · LAX 11:48 · JFK 14:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.