[英]How to send a return form a callback function to the main function
我正在嘗試鍛煉這個提琴琴http://jsfiddle.net/jdsans/38GFS/ ,但是無法將回調函數的返回值發送到主函數。 回調函數包含的最終返回值恰好是我想要的,但沒有返回。
當我使用document.write()函數打印返回值時,我得到了想要打印的確切值,但是正如我之前所說,它不會被返回。
請任何人使用這個小提琴向我展示一個有效的示例。 我在小提琴中添加了更多詳細信息作為注釋,以便您理解我時沒有任何問題。
看起來您正在嘗試讓一個異步回調返回一個值(到“同步”函數調用)。 這就像試圖在干燥的陸地上划船一樣。 范式不適合。
“返回值”的概念僅存在於同步模型中。 一個函數調用另一個函數的地方,可以操縱和返回值。 但是,您要返回的值存在於函數回調中。 這意味着您的整個執行線程將在回調函數之前執行,包括保存返回值的部分。
您需要異步思考。 不要返回值,使用它們來調用執行必要工作的其他函數。
我會嘗試說明。 假設我有代碼:
異步的想法是在調用回調之前先執行1-3。 這就是為什么它被稱為回調 ! 因此3將在我們獲得該值之前執行。 那沒有道理。 相反,您需要更改代碼以執行:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.