首页 > 其他 > 详细

Vue 前后端交互

时间:2020-05-14 01:44:35      阅读:64      评论:0      收藏:0      [点我收藏+]

异步调用

  • 异步效果 : 事件函数 Ajax 定时任务
  • 多次异步调用依赖
    • 多次调用异步, 结果顺序不确定, 如果需要固定顺序, 必须使用嵌套

Promise 概述

Promise 是异步编程的一种解决方案 , 从语法上讲 Promise 是一个对象 , 从它可以获取到异步操作的消息;

  • 可以避免多层异步调用嵌套问题
  • Promise 对象提供了简洁的 api 可以轻松控制异步操作
// resolve 正确的回调 reject 错误的回调
var p = new Promise(function (resolve, reject) {
  var flag = true
  setTimeout(function () {
    if (flag) {
      resolve(‘success...‘)
    } else {
      reject(‘error...‘)
    }
  }, 2000)
})
// then 方法接收 resolve 和 reject 的返回
p.then(function (res) {
  console.log(res)
}, function (err) {
  console.log(err)
})

Promise 封装原生 Ajax

query(url) {
  return new Promise(function (resolve, reject) {
    var xhr = new XMLHttpRequest()
    xhr.onload = function () {
      if (xhr.status === 200) {
        resolve(xhr.responseText)
      } else {
        reject(‘error...‘)
      }
    }
    xhr.open(‘get‘, url)
    xhr.send(null)
  })
}
// 多重接口调用
query(‘http://localhost:3000/data‘)
  .then(function(res) {
    console.log(res)
    return query(‘http://localhost:3000/data1‘)
  })
  .then(function (res) {
    console.log(res)
    return query(‘http://localhost:3000/data2‘)
  })
  .then(function (res) {
    console.log(res)
  })

Vue 前后端交互

原文:https://www.cnblogs.com/article-record/p/12885917.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!