javascript - 在 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()
})
}
解决方案
这将如下所示:
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();
})
}
};
推荐阅读
- reactjs - ReactJS 中的相同文件样式(类似于 VueJS)
- purescript - Purescript 的 Data.Foldable for_ 不是堆栈安全的吗?
- python-3.x - 如何在 python 中读取动态更改的 excel 文件名?
- plot - Netlogo plotxy 绘制海龟猎物大小与目标捕食者大小的关系
- reactjs - 如何测试 useEffect 中的函数是否被调用?
- angular - 使用 kendo-upload 防止上传现有文件名
- ios - 使用 AVPlayer 检测 HLS 流的静音/静音音频?
- javascript - 如何更改谷歌驱动器嵌入进度条的颜色而不是红色我想要白条
- arrays - 使用 tableview 和 CoreDataStack 和 Diffable 数据源删除核心数据中的记录
- c# - 如何将其他列表绑定到其他 ItemsSource 中的 ItemsSource