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 异步化也可以很好看
有没有大佬能教教怎么改这段代码?