1 | var Q = require("q");
|
2 | var _ = require("lodash");
|
3 |
|
4 | function promise(data){
|
5 | var def = Q.defer();
|
6 | var saveData = data;
|
7 |
|
8 | console.log(saveData);
|
9 |
|
10 | setTimeout(function(){
|
11 | saveData.info3 = saveData.info1+saveData.info2;
|
12 | def.resolve(saveData);
|
13 | }, 3000);
|
14 |
|
15 | return def.promise;
|
16 | }
|
17 |
|
18 | var data = {info1: 1, info2: 2};
|
19 |
|
20 | promise(data)
|
21 | .then(function(result){
|
22 | console.log(result);
|
23 | })
|
24 | .catch(function(err){
|
25 | console.log(new Error(err));
|
26 | });
|
27 |
|
28 | data.info1 = 3;
|
29 | data.info2 = 4;
|
30 |
|
31 | promise(data)
|
32 | .then(function(result){
|
33 | console.log(result);
|
34 | })
|
35 | .catch(function(err){
|
36 | console.log(new Error(err));
|
37 | });
|
38 |
|
39 | data.info1 = 5;
|
40 | data.info2 = 6;
|
41 |
|
42 | promise(data)
|
43 | .then(function(result){
|
44 | console.log(result);
|
45 | })
|
46 | .catch(function(err){
|
47 | console.log(new Error(err));
|
48 | }); |
\ | No newline at end of file |