起因
目前項目需求是分享時攜帶參數去進行裂變,但是在查看微信文檔后發現有onShareAppMessage
這個頁面處理事件可以使用。事件可以使用return
一個Object
,用於自定義轉發內容。
文檔對return
出去的Object
對象是有要求的,並且寫到可以在里面返回promise
,並將以promise
返回的內容為准。但是在這里使用官方的例子怎么都獲取不到id。
於是我突發其想,他的意思該不會是存在promise的時候,return出去的其他選項是不生效的吧???
實驗:
這里通過開啟一個node服務,讓同事按入我的轉發鏈接來進行測試,在微信官方的onLoad
生命周期中發送網絡請求的方式來查看是否是獲取到官方例子中的id:
結果:
刪掉官方例子中的promise
,成功獲取到id
沒刪掉官方的pormise
,不能獲取到id
結論:
官方在文檔中定義了一個promise
,並且promise
返回的內容中的title
內容跟return
出去的內容是相同就算了,更奇幻的是,所說的以promise
返回的結果為准的真實理解應該是,如果return
對象存在promise
,則return
出去的只是promise
返回的對象,所以他官方return
出去的例子應該是這樣的:
最后:
你可能說我是不看文檔,但是我覺如果我只是單純想通過網絡請求或者其他異步方式來獲取轉發出去的title,並不想更改path的內容時,這樣的文檔不是很誤導人嗎?