永发信息网

.then()这个方法什么意思?无意看到别人写的js代码有这个方法,度娘了一下,答案都很笼统

答案:5  悬赏:60  手机版
解决时间 2021-03-19 23:40
.then()这个方法什么意思?无意看到别人写的js代码有这个方法,度娘了一下,答案都很笼统
最佳答案

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

全部回答
then()方法是异步执行
就是当.then()前的方法执行完后再执行then()内部的程序
官方回答:

The then() method returns a Promise. It takes two arguments: callback functions for the success and failure cases of the Promise.
语法如下:
p.then(onFulfilled, onRejected);
p.then(function(value) {
// fulfillment
}, function(reason) {
// rejection
});

查一下ES6的 Promise A+规范吧, jQuery也在很早期就提供了deffered的API。


简单来说的话,thenable function是用来拍平callback hell的。

假设有以下代码,拿node举个例子

const fs = require('fs')
fs.readFile('path.txt', 'utf-8', (err, d1)=> {
     fs.readFile(d1, 'utf-8', (err,d2) => {
         fs.readFile(d2, 'utf-8', (err, d3) => {
              //以此类推,业务复杂起来,回调很容易超过10层,代码的维护性就直线下降了
         })
     })
})

而Promise能做什么呢

var read = function(file){
    return new Promise((resolve, reject) => {
        fs.readFile(file, 'utf-8', (err, d1) => {
            if(err) reject(err)
            else resolve(d1)
        })
    })
}

var chain = read('path.txt')
chain.then(d1 => read(d1))
         .then(d2 => read(d2))
         .then(d3 => read(d3))
         //...以此类推
不太喜欢回答匿名的- - 因为往往他们都不做后续操作……
then()方法是异步执行
就是当.then()前的方法执行完后再执行then()内部的程序
这样就避免了,数据没获取到等的问题
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
装饰工程中LED灯和亚克力板怎么套清单和定额
字花题,五侯贵门脚不到,纱帽接离慵不著。军
我的父母是天津户口,我和老公都是河北户口,
锅急河我想知道这个在什么地方
地坛医院有没有乳腺科
美国,中国各面积多少万平六公里?
乐佛大山阅读短文答案
至查什么部首
重庆到江西赣州,自己开车怎么走?有多少公里
我买的气动水切割锯,用的m42厚度1.6的锯片,
杨添兴诊所地址在哪,我要去那里办事
福特福克斯1.0T一百迈转速还不到两千是怎么回
闪鳞蛇能喂真空包装的乳鼠么?怎么喂水?
任筹款与首付款有什么区别
水瓶裂开了漏水,有什么好办法修补好?
推荐资讯
后母的前夫咋称呼
极品飞车18 pc如何三连屏
He is very popular among his students as h
分针从七走到一走了几分。
通威鱼饲料的价格
兰州市纪委督查小组:我是七里河银滩花园的业
朋友很少怎么办一个既浪漫又有意义的婚礼
69BB修吃修炼果.一个要吃多少
A young man was insterested in jade st
当年的 传奇 为什么那么火哦?
请问我佳能MX358的一体机 要怎么加墨水 原装
雪原牧场鲜奶吧这个地址在什么地方,我要处理
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?