Promise对象和回调函数,解决异步数据传递问题

Posted Ethan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise对象和回调函数,解决异步数据传递问题相关的知识,希望对你有一定的参考价值。

下面的代码例子,均已小程序的异步请求数据为案例来说明

1.利用回调函数,来解决异步数据传递问题

 1 异步操作api.js
 2 const getBooks = (url, callback) => {
 3   wx.request({
 4     url: url,
 5     method: ‘GET‘,
 6     header: {
 7        "Content-Type": "json"
 8     },
 9     success: function (res) {
10        console.log(res)
11        callback(res)
12     }
13   })
14 }
15 module.exports = {
16      getBooks: getBooks
17 }
18 
19 引入api.js
20 
21 api.getBooks(‘参数‘,回调函数)
22 
23 写法一:
24 api.getBooks(‘https://api.douban.com/v2/movie/search?tag=%E5%96%9C%E5%89%A7&count=4‘, res => {
25      console.log(res)
26 })
27 
28 写法二:
29 
30 let x = () => {console.log(res)}
31 api.getBooks(‘参数‘, x)

2.利用Promise来解决异步回调数据传递的问题

异步操作api.js
const getBooks = (url) => {
  return new Promise((resolve,reject) => {
    wx.request({
      url: url,
      method: ‘GET‘,
      header: {
         "Content-Type": "json"
      },
      success: function (res) {
         resolve(res)
      }
    })
  })
}
module.exports = {
     getBooks: getBooks
}

引入api.js

api.getBooks(‘https://api.douban.com/v2/movie/search?tag=%E5%96%9C%E5%89%A7&count=4‘).then(res => {
     console.log(res)
})

以上两种方法均可以解决异步操作中数据传递的问题,也是比较简单,比较实用的两种方法

以上是关于Promise对象和回调函数,解决异步数据传递问题的主要内容,如果未能解决你的问题,请参考以下文章

Promise对象

Node.js Promise对象(解决回调地狱问题)async和await函数

Promise承诺对象

JS异步编程,回调函数与promise

JS异步编程,回调函数与promise

Promise对象