promise

Posted zlsqd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise相关的知识,希望对你有一定的参考价值。

//手写异步
// 在js中只要看到异步首先想到回调函数,将后续要做的事传入当前要做的事里面,当前的事做好后开始做后面的事
function buy(callback)
setTimeout(function ()
var a="我做完饭了";
callback(a);
,2000)

buy(function cookie(val)
console.log(val)
);

//promise是自带的用来解决回调问题d的类,可以直接new.有三个状态:等待,成功,失败
//promise的实例天生自带一个then方法,then方法有两个参数,第一个参数表示成功第二个表示失败
let p=new Promise((resolve,reject)=>//回调函数直接运行默认是等待状态,什么时候某个参数执行了,状态发生改变
var a="北京";
resolve(a);//当调用resolve时表示成功,触发then里的第一个参数
);
p.then((data)=>console.log(data),(err)=>);
//promise比我们自己写的好处就是不用我们自己传递函数了
promise封装ajax
function ajax(url="", method="get",datatype="json") 
    return new Promise((resolve,reject)=>
        var xhr=new XMLHttpRequest();
        xhr.open(method,url,true);//参数顺序!!!
        xhr.responseText=datatype,
        xhr.onload=function () 
            resolve(xhr.response);//获取数据成功调取成功的方法
        ;
        xhr.onerror=function (err) 
            reject(err)
        
        xhr.send()
    )


// ajax(url:"shopping.json").then((data)=>this.products=JSON.parse(data),(err)=>console.log(err))
//我们自己写的ajax用法和axios一样。axios就是类似这样封装的。。
// 函数执行返回一个promise对象

  

 

以上是关于promise的主要内容,如果未能解决你的问题,请参考以下文章

# Promise的简单理解和基本使用

# Promise的简单理解和基本使用

Promise笔记

异步总结

手写题整理

浅析promise