为什么这个 js 函数是个异步的,但能够在不是异步的地方直接调用?

2022-07-01 14:15:31 +08:00
 zjsxwc

如图 https://i.imgur.com/q7orBLM.png

为什么这个 initApp 是个异步的,为什么能够在不是异步的地方直接调用?

为什么不写作 initApp().then(...)的样子?

1262 次点击
所在节点    程序员
8 条回复
Muninn
2022-07-01 14:22:25 +08:00
then 了,然后又能怎样。
zjsxwc
2022-07-01 14:43:07 +08:00
已解决


就是没有用处,这个 promise 不 then 调用下,相当于没执行,而这个代码是 uniapp 自带的模板代码,脱裤子放屁啊
@Muninn
codehz
2022-07-01 15:09:57 +08:00
谁说没 then 等于没执行的(
正常 promise 是创建出来就开始跑的
没写 then 或者放 async 里只是你拿不到结果(也收不到错误)
但是并不是所有情况都需要结果啊)
duan602728596
2022-07-01 16:56:18 +08:00
sqlNice
2022-07-01 17:45:51 +08:00
如果 initApp 返回的结果你不需要,那么直接 initApp() 就行了。如果需要后续返回结果就 then 或者 await 接收一下
ysc3839
2022-07-01 18:52:57 +08:00
可以理解成,你不用 then 或者 await ,就是不设置回调函数,让它跑就不管了
aaronlam
2022-07-01 19:57:36 +08:00
initApp 还是要调用的,看名字应该是做一些初始化的操作。而方法是异步的只是为了不阻塞后续代码运行,如果其后续代码需要依赖他运行完再运行或者依赖其返回结果,那当然就需要用 then 或者 await 。
Sunzehui
2022-07-02 11:16:59 +08:00
then 仅仅是注册回调,并不是执行 executor

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX