js中then()函数详解

JavaScript017

js中then()函数详解,第1张

then: function (callback, errback) {

var result = defer()

有两个部分,then 和 always,两个都是可执行的方法。

always 这里不作讨论。来看看then ,它有两个参数,callback 和 errback, 第一个用来处理“resolved”和“success”事件;第二个用来处理“rejected”和“failure”事件。

所以,delay.promise不是现成的数据,还不能直接使用。然后来看看这个then怎么使用(主要是如何从中提取出我们需要的后台返回的数据):

then()方法是异步执行。

意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。

语法:promise.then(onCompleted, onRejected)

参数

promise必需。Promise 对象。

onCompleted必需。承诺成功完成时要运行的履行处理程序函数。

onRejected可选。承诺被拒绝时要运行的错误处理程序函数

举例

可以理解成navigator.mediaDevices.getUserMedia(constrains) 返回一个参数stream ,然后执行function功能

function a(){

......

if(false){//这里面的内容是判断的最终结果为false要执行的代码。;如果你要的效果是:值为false,你要直接结束的话,你可以将a()变成return。

a()

}else{//这里面的内容是判断的最终结果为true要执行的代码。

return

}

}

function a(){

    var x=2

    if(x==1){

        a()

    }else{

        return

    }

}