understading promises-2

This commit is contained in:
2017-02-14 00:41:33 -08:00
parent aa4d767204
commit dea221f83e
5 changed files with 58 additions and 26 deletions

View File

@@ -63,7 +63,7 @@
/******/ __webpack_require__.p = ""; /******/ __webpack_require__.p = "";
/******/ /******/
/******/ // Load entry module and return exports /******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 1); /******/ return __webpack_require__(__webpack_require__.s = 2);
/******/ }) /******/ })
/************************************************************************/ /************************************************************************/
/******/ ([ /******/ ([
@@ -125,7 +125,8 @@ var Mortgage = function () {
exports.default = Mortgage; exports.default = Mortgage;
/***/ }), /***/ }),
/* 1 */ /* 1 */,
/* 2 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";

File diff suppressed because one or more lines are too long

View File

@@ -63,25 +63,58 @@
/******/ __webpack_require__.p = ""; /******/ __webpack_require__.p = "";
/******/ /******/
/******/ // Load entry module and return exports /******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 2); /******/ return __webpack_require__(__webpack_require__.s = 3);
/******/ }) /******/ })
/************************************************************************/ /************************************************************************/
/******/ ({ /******/ ([
/* 0 */,
/***/ 2: /* 1 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
var url = "rates.json"; Object.defineProperty(exports, "__esModule", {
value: true
});
var rates = [{
"name": "30 years fixed",
"rate": "13",
"years": "30"
}, {
"name": "20 years fixed",
"rate": "2.8",
"years": "20"
}];
fetch(url).then(function (response) { var findAll = exports.findAll = function findAll() {
return response.json(); return new Promise(function (resolve, reject) {
}).then(function (rates) { if (rates) {
resolve(rates);
} else {
reject("No rates");
}
});
};
/***/ }),
/* 2 */,
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _rateServiceMock = __webpack_require__(1);
var service = _interopRequireWildcard(_rateServiceMock);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
service.findAll().then(function (rates) {
var html = ''; var html = '';
rates.forEach(function (rate) { rates.forEach(function (rate) {
return html += "<tr><td>" + rate.name + "</td><td>" + rate.years + "</td><td>" + rate.rate + "%</td></tr>"; return html += '<tr><td>' + rate.name + '</td><td>' + rate.years + '</td><td>' + rate.rate + '%</td></tr>';
}); });
document.getElementById("rates").innerHTML = html; document.getElementById("rates").innerHTML = html;
}).catch(function (e) { }).catch(function (e) {
@@ -89,6 +122,5 @@ fetch(url).then(function (response) {
}); });
/***/ }) /***/ })
/******/ ]);
/******/ });
//# sourceMappingURL=ratefinder.bundle.js.map //# sourceMappingURL=ratefinder.bundle.js.map

View File

@@ -1 +1 @@
{"version":3,"sources":["webpack:///webpack/bootstrap 71264ee56fb5fabb88c9?9f3c","webpack:///./js/ratefinder.js"],"names":["url","fetch","then","response","json","html","rates","forEach","rate","name","years","document","getElementById","innerHTML","catch","console","log","e"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;AChEA,IAAIA,MAAM,YAAV;;AAEAC,MAAMD,GAAN,EACKE,IADL,CACU;AAAA,SAAYC,SAASC,IAAT,EAAZ;AAAA,CADV,EAEKF,IAFL,CAEU,iBAAS;AACb,MAAIG,OAAO,EAAX;AACAC,QAAMC,OAAN,CAAc;AAAA,WAAQF,qBAAmBG,KAAKC,IAAxB,iBAAwCD,KAAKE,KAA7C,iBAA8DF,KAAKA,IAAnE,gBAAR;AAAA,GAAd;AACAG,WAASC,cAAT,CAAwB,OAAxB,EAAiCC,SAAjC,GAA6CR,IAA7C;AACD,CANL,EAOKS,KAPL,CAOW;AAAA,SAAKC,QAAQC,GAAR,CAAYC,CAAZ,CAAL;AAAA,CAPX,E","file":"ratefinder.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 71264ee56fb5fabb88c9","let url = \"rates.json\";\r\n\r\nfetch(url)\r\n .then(response => response.json())\r\n .then(rates => {\r\n let html = '';\r\n rates.forEach(rate => html += `<tr><td>${rate.name}</td><td>${rate.years}</td><td>${rate.rate}%</td></tr>`);\r\n document.getElementById(\"rates\").innerHTML = html;\r\n })\r\n .catch(e => console.log(e));\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/ratefinder.js"],"sourceRoot":""} {"version":3,"sources":["webpack:///webpack/bootstrap e55f194822094c9403e0","webpack:///./js/rate-service-mock.js","webpack:///./js/ratefinder.js"],"names":["rates","findAll","Promise","resolve","reject","service","then","html","forEach","rate","name","years","document","getElementById","innerHTML","catch","console","log","e"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;;;;AChEA,IAAIA,QAAQ,CACR;AACI,YAAQ,gBADZ;AAEI,YAAQ,IAFZ;AAGI,aAAS;AAHb,CADQ,EAMR;AACI,YAAQ,gBADZ;AAEI,YAAQ,KAFZ;AAGI,aAAS;AAHb,CANQ,CAAZ;;AAaO,IAAIC,4BAAU,SAAVA,OAAU;AAAA,WAAM,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACxD,YAAIJ,KAAJ,EAAW;AACPG,oBAAQH,KAAR;AACH,SAFD,MAEO;AACHI,mBAAO,UAAP;AACH;AACJ,KAN0B,CAAN;AAAA,CAAd,C;;;;;;;;;;ACbP;;IAAYC,O;;;;AAEZA,QAAQJ,OAAR,GACKK,IADL,CACU,iBAAS;AACX,QAAIC,OAAO,EAAX;AACAP,UAAMQ,OAAN,CAAc;AAAA,eAAQD,qBAAmBE,KAAKC,IAAxB,iBAAwCD,KAAKE,KAA7C,iBAA8DF,KAAKA,IAAnE,gBAAR;AAAA,KAAd;AACAG,aAASC,cAAT,CAAwB,OAAxB,EAAiCC,SAAjC,GAA6CP,IAA7C;AACH,CALL,EAMKQ,KANL,CAMW;AAAA,WAAKC,QAAQC,GAAR,CAAYC,CAAZ,CAAL;AAAA,CANX,E","file":"ratefinder.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e55f194822094c9403e0","let rates = [\r\n {\r\n \"name\": \"30 years fixed\",\r\n \"rate\": \"13\",\r\n \"years\": \"30\"\r\n },\r\n {\r\n \"name\": \"20 years fixed\",\r\n \"rate\": \"2.8\",\r\n \"years\": \"20\"\r\n }\r\n];\r\n\r\nexport let findAll = () => new Promise((resolve, reject) => {\r\n if (rates) {\r\n resolve(rates);\r\n } else {\r\n reject(\"No rates\");\r\n }\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/rate-service-mock.js","import * as service from './rate-service-mock';\r\n\r\nservice.findAll()\r\n .then(rates => {\r\n let html = '';\r\n rates.forEach(rate => html += `<tr><td>${rate.name}</td><td>${rate.years}</td><td>${rate.rate}%</td></tr>`);\r\n document.getElementById(\"rates\").innerHTML = html;\r\n })\r\n .catch(e => console.log(e));\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/ratefinder.js"],"sourceRoot":""}

View File

@@ -1,7 +1,6 @@
let url = "rates.json"; import * as service from './rate-service-mock';
fetch(url) service.findAll()
.then(response => response.json())
.then(rates => { .then(rates => {
let html = ''; let html = '';
rates.forEach(rate => html += `<tr><td>${rate.name}</td><td>${rate.years}</td><td>${rate.rate}%</td></tr>`); rates.forEach(rate => html += `<tr><td>${rate.name}</td><td>${rate.years}</td><td>${rate.rate}%</td></tr>`);