av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

html5 - javascript異步編程書中遇到的問題?

瀏覽:100日期:2022-12-14 13:17:51

問題描述

再看JavaScript異步編程這本書,然后看到了一段代碼

var webSocketCache = {};function openWebSocket(serverAddress, callback) { var socket; if (serverAddress in webSocketCache) {socket = webSocketCache[serverAddress];if (socket.readyState === WebSocket.OPEN) { callback();} else { socket.onopen = _.compose(callback, socket.onopen);}; } else {socket = new WebSocket(serverAddress);webSocketCache[serverAddress] = socket;socket.onopen = callback; }; return socket;};

書中說

var socket=openWebSocket(url,function(){ socket.send(’Hello,server!’); });

這樣會使代碼崩潰,不解。。在返回值之前調用回調函數為什么會使代碼崩潰。希望大大們能幫我解釋解釋

問題解答

回答1:

在返回之前回調函數就有可能被執行了,這個時候的socket還沒有賦值

可以給callback傳一個參數來避免這種情況

回答2:

你url 定義了么- -

回答3:

const func = function (callback) { callback(); return 100;};const x = func(() => { console.log(x); //此處將打印 undefined;});console.log(x); //此處打印 100

這樣解釋不知道你能否明白?

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产aa| 亚洲午夜精品一区二区三区他趣 | 一区二区三区在线免费看 | 午夜激情免费视频 | 国产精品久久久免费 | 日韩91在线 | 欧美亚洲视频 | 手机av网 | 久久久久黄 | 999久久| 91网视频 | 一区二区三区不卡视频 | 国产精品久久精品 | 精品少妇v888av | 国产精品亚洲成在人线 | 亚洲激情一区二区 | 亚洲精品观看 | 亚洲人成在线观看 | 国产精品区二区三区日本 | 国产欧美一区二区三区在线播放 | 国产精品1区 | 在线小视频 | 国产精品久久久久久久久久久新郎 | 青青草原综合久久大伊人精品 | 中国一级毛片免费 | 欧美日一区二区 | 久久久精品国产 | 国产精品一区在线 | m豆传媒在线链接观看 | 一级黄色片免费在线观看 | 国产一级视频在线播放 | 欧美视频成人 | 黄色网址在线免费观看 | 亚洲欧洲国产视频 | 久久99精品久久久久久国产越南 | 成人三级在线播放 | 国产高清免费视频 | 免费三级网站 | 日韩电影中文字幕 | 欧美一区二区三区四区视频 | 欧美日韩一区精品 |