nodejs 因为要异步所以总是把方法传来传去. 比如这段代码
model.Company.findOne({"name": "KFC"}).then(function (c) {
console.log("success get company", c);
let j = new model.Job(
{
title: "title",
position: "position",
category: "A",
description: "description",
location: "location",
workType: "B",
salary: "100",
}
);
j.save().then(function (j) {
console.log("success save job", j);
c.addToJob(j).save().then(function (c) {
console.log("success add to job")
}, err => console.error("save job after company", err));
}, err => console.error("save job", err))
}, function (err) {
if (err) console.error.bind(console, "find company error");
});
如果是正常的语言就会很简单
c,err = find()
if err {}
err = c.add()
if err {}
job = ...
job.save()
c.add(job)
哪怕加上 groutine 异步化也可以很好看
有没有大佬能教教怎么改这段代码?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.