同事是不是对 Promise 有什么误解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
suyuyu
V2EX    前端开发

同事是不是对 Promise 有什么误解

  •  
  •   suyuyu 2023-04-27 00:14:19 +08:00 3806 次点击
    这是一个创建于 903 天前的主题,其中的信息可能已经有所发展或是发生改变。

    吃了个盖伦 Q 沉默了

    p9MBINd.jpg

    第 1 条附言    2023-04-27 09:43:51 +08:00
    应该是对 axios 的误解
    27 条回复    2023-05-05 14:28:00 +08:00
    throns
        1
    throns  
       2023-04-27 01:05:39 +08:00 via Android
    他应该是对 axios 有误解,不知道返回值是一个 Promise
    autoxbc
        2
    autoxbc  
       2023-04-27 03:18:08 +08:00
    我自己践行一种异步规范,禁止使用 then(),可以避免很多问题
    fairless
        3
    fairless  
       2023-04-27 07:28:54 +08:00   1
    Promise 这样用有啥问题吗?直接 return Promise.resolve(res.data.data) 显得更高级一些?
    optional
        4
    optional  
       2023-04-27 08:21:51 +08:00
    hah ,除了这个
    statuss -> statuses
    select -> selected
    arfaWong
        5
    arfaWong  
       2023-04-27 08:32:21 +08:00
    哈哈,返回的不也和预想的一样吗
    cmdOptionKana
        6
    cmdOptionKana  
       2023-04-27 08:46:47 +08:00
    我也是这样写的,能不能说说正确做法,我想学习
    suyuyu
        7
    suyuyu  
    OP
       2023-04-27 09:10:57 +08:00
    @fairless 拦截器不是一劳永逸吗,他每一个接口都这样写。还有 qs...
    @optional 看上去想了很长时间的变量名
    @autoxbc 他调用也是用的 then
    toesbieya
        8
    toesbieya  
       2023-04-27 09:17:05 +08:00   1
    问题太多了,额外包一层 Promise 、url 参数还自己用 qs 转、同名键值不简写、axios 异常不用统一封装的非要自己处理,至于参数命名,如果接口就是这样的只能说后端也是凤雏
    hu1e
        9
    hu1e  
       2023-04-27 09:17:34 +08:00
    单看 Promise 的使用没啥毛病吧
    cxe2v
        10
    cxe2v  
       2023-04-27 09:20:23 +08:00
    @cmdOptionKana 用拦截器处理,然后直接 return axios.get()就行
    cmdOptionKana
        11
    cmdOptionKana  
       2023-04-27 09:26:43 +08:00
    @cxe2v 谢谢!我才直到 axios 有拦截器
    superedlimited
        12
    superedlimited  
       2023-04-27 09:33:57 +08:00
    什么拦截器。。。你们在说什么呀????

    难道不是 export async function, return await axios.get ????
    suyuyu
        13
    suyuyu  
    OP
       2023-04-27 09:40:27 +08:00
    @hu1e 我说错了 对 axios 的无解
    BugCry
        14
    BugCry  
       2023-04-27 09:57:52 +08:00 via Android   2
    问题可真不少,比如 axios 本来就返回的 Promise ,就硬 new ,能想得到用 JSON.stringify 都算好了,至少没有手撕 json 字符串。
    不过楼上几位说没啥毛病的,就直接给人干沉默了
    xingyuc
        15
    xingyuc  
       2023-04-27 10:03:13 +08:00
    写注释就是好人
    ChefIsAwesome
        16
    ChefIsAwesome  
       2023-04-27 10:03:19 +08:00 via Android   3
    这破代码还有人看不出来毛病的。
    shakaraka
        17
    shakaraka  
    PRO
       2023-04-27 10:14:32 +08:00   1
    1 、参数直接用 URLSearchParams 就行了,还用 qs ?就算不用 URLSearchParams ,axios 自己也能处理简单对象。
    2 、不需要 new 一个 promise ,axios 返回的就是,想返回不同的返回值就写多一个 then 就行了。
    weixiangzhe
        18
    weixiangzhe  
       2023-04-27 10:39:21 +08:00
    axios 的 interceptors 没有配置吧,看着是挺累的
    lemonnTr
        19
    lemonnTr  
       2023-04-27 10:49:37 +08:00
    你就说能不能用吧
    suyuyu
        20
    suyuyu  
    OP
       2023-04-27 10:57:27 +08:00
    @weixiangzhe 有拦截器但是没用,估计是复制来的。
    @lemonnTr 能用 !-_-
    maclanelf134
        21
    maclanelf134  
       2023-04-27 16:27:56 +08:00
    哎,现在代码看多了都习惯了, 我同意楼上的说法,会写注释就是好人! 自己知道怎么写就得了!反正都能实现同样效果,人家就愿意这么写,回怼你一句这么写碍你 p 事你能说啥! 会写注释真是好人啊..........
    fairless
        22
    fairless  
       2023-04-27 16:36:43 +08:00
    @suyuyu 所以用不用拦截器与你的标题有什么关系?跟 promise 有什么关系?
    xhcarlin
        23
    xhcarlin  
       2023-04-27 22:51:51 +08:00
    要我的话,能用就行,别碰人家的代码
    suyuyu
        24
    suyuyu  
    OP
       2023-05-05 09:55:35 +08:00
    @xhcarlin 肯定不碰能跑就行,看着有点别扭吐槽一下
    lete
        25
    lete  
       2023-05-05 11:50:55 +08:00 via Android
    说有问题吧,它也能正常跑,说没问题吧,它还挺不好维护的

    emmm ,又不是不能用

    还有这后端也是个人才居然这样返回数据天才哈哈哈哈
    houchangxiaowang
        26
    houchangxiaowang  
       2023-05-05 11:51:43 +08:00
    OP 来一段你觉得能接受的代码看看? talk is cheap. show me code
    suyuyu
        27
    suyuyu  
    OP
       2023-05-05 14:28:00 +08:00
    @houchangxiaowang 下次不敢了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     876 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 21:14 PVG 05:14 LAX 14:14 JFK 17:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86