7. Promise

1. 基本示例

  1. // 例子 7-1
  2.  
  3. // bad
  4. request(url, function(err, res, body) {
  5. if (err) handleError(err);
  6. fs.writeFile('1.txt', body, function(err) {
  7. request(url2, function(err, res, body) {
  8. if (err) handleError(err)
  9. })
  10. })
  11. });
  12.  
  13. // good
  14. request(url)
  15. .then(function(result) {
  16. return writeFileAsynv('1.txt', result)
  17. })
  18. .then(function(result) {
  19. return request(url2)
  20. })
  21. .catch(function(e){
  22. handleError(e)
  23. });

2. finally

  1. // 例子 7-2
  2.  
  3. fetch('file.json')
  4. .then(data => data.json())
  5. .catch(error => console.error(error))
  6. .finally(() => console.log('finished'));