首页 > 解决方案 > 在 Javascript 中创建 Promise

问题描述

我希望这个函数tagFindOrCreate只有在第一个函数完成时才执行:

func.tweetCreate(bmTweet, user)
    .then(function () {
            func.tagFindOrCreate(bmTweet, bmtTag, user)
    })

帮我为这个函数创建一个承诺:

tweetCreate: function (tweet, user) {
    Tweet.create(tweet, function (err, tweet) {
        user[0].tweets.push(tweet)
        user[0].save()
        console.log("Tweet saved.")
        return Promise.resolve()
    })
}

标签: javascriptnode.jspromisefrontendbackend

解决方案


这将如下所示:

tweetCreate: function (tweet, user) {
    return new Promise(resolve => {
        Tweet.create(tweet, function (err, tweet) {
            user[0].tweets.push(tweet);
            user[0].save();
            console.log("Tweet saved.")
            resolve();
        })
    }
};

推荐阅读