首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在调用on#file之前,等待busboy on#finish完成

在调用on#file之前,等待busboy on#finish完成
EN

Stack Overflow用户
提问于 2016-03-04 15:57:47
回答 1查看 749关注 0票数 0

所以好吧,我有这个:

代码语言:javascript
复制
req.busboy.on('file', function (fieldname, file, filename, encoding, mimetype) {
    core.upload(filename, file, function(key2) {
        if (key2 != null) {
            key = key2;
        }
        console.log("KEY SET");
        file.resume();
    });
});

还有一个完成功能:

代码语言:javascript
复制
req.busboy.on('finish', function () {
    console.log("FINISH FIRE");
}

我遇到的问题是,FINISH FIRE首先触发,并且只在上传KEY SET触发之后触发,并且当我在以下位置设置数据时,无法嵌套这些函数:

代码语言:javascript
复制
req.busboy.on('field', function (key, value, keyTruncated, valueTruncated) {
    //setting data
}

所以有了这个:

代码语言:javascript
复制
req.busboy.on('file', function (fieldname, file, filename, encoding, mimetype) {
    core.upload(filename, file, function(key2) {
        if (key2 != null) {
            key = key2;
        }
        file.resume();
        runFinishFunction();
    });
});

因为我不知道on#field是否已经完成了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-09 15:17:49

您有这样一个函数和变量

代码语言:javascript
复制
var finishOne, FinishTwo

finish(finish1, finish2) {
     if (finishOne != true && finish1 != null) finishOne = finish1;
     if (finishTwo != true && finish2 != null) finishTwo = finish2;
     if (finishOne && FinishTwo) {
         //RUN CODE
     }
}

然后,您可以在方法中使用以下方法调用一个:

代码语言:javascript
复制
finish(true, null) And the other one with finish(null, true)

这看起来不是一个好的解决方案,所以欢迎更好的解决方案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35800411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档