this.getdata(this.str1) => this.str1//為空'' =>this.getdata('')
在回調(diào)里賦值,根本獲取不到''= res.data
returns a value, the promise returned by then gets resolved with the returned value as its value;
throws an error, the promise returned by then gets rejected with the thrown error as its value;
returns an already resolved promise, the promise returned by then gets resolved with that promise's value as its value;
returns an already rejected promise, the promise returned by then gets rejected with that promise's value as its value.
returns another pending promise object, the resolution/rejection of the promise returned by then will be subsequent to the resolution/rejection of the promise returned by the handler. Also, the value of the promise returned by then will be the same as the value of the promise returned by the handler.
from here: https://developer.mozilla.org...
var num = 0
setInterval(function(){
num++
},5000) 用戶有操作是情況 num清零 num達(dá)到臨界值 跳轉(zhuǎn)
Promise.all() 并不能解決循環(huán)的問(wèn)題,一般情況下 .all() 的參數(shù)是 Promise 數(shù)組(暫時(shí)不考慮其它類(lèi)似)。那么,數(shù)組中的每個(gè) Promise 都代表著一個(gè)異步操作,Promise.all() 的作用是等待這些異步操作全部執(zhí)行完成,所以實(shí)質(zhì)上并不是 Promise.all() 是并發(fā)的,而是 Promise.all() 等待著一堆并發(fā)執(zhí)行完成。
因此,Promise.all() 并不能解決有序循環(huán)。作為特例,如果 Promise.all() 等待的全都是同步代碼,比如題主示例中雖然用了 .map(),映射結(jié)果卻并不是 Promise 對(duì)象,而是同步執(zhí)行(直接返回的 id),這種情況下,實(shí)際是依次執(zhí)行的完了再把結(jié)果放入 .all() 的,所以是同步順序循環(huán)處理的(就是 map 干的事情)。題主的第一段代碼,如果變量名不是 promises,你覺(jué)得它跟異步或者 Promise 有任何關(guān)系嗎?
然后當(dāng)然要指出 ajax 調(diào)用時(shí)候的一個(gè)失誤:{} 中的內(nèi)容應(yīng)該是 ajax 的參數(shù),所以應(yīng)該放在括號(hào)中 ({...}) 才對(duì)。
由于 promises 變量保存的只是一個(gè)同步運(yùn)行的結(jié)果集,所以 Promise.all(promises) 其實(shí)就是對(duì) then() 的回調(diào)直接傳遞的這個(gè)結(jié)果集,所以 val 的值實(shí)際就是 [1, 2]。因此下面這個(gè)寫(xiě)法是沒(méi)有問(wèn)題的
$.ajax({
data: val
});
問(wèn)題在于下面這里
Promise.all(promises)
.then(function(val) {
// 問(wèn)題在把 ajax 放入 then 回調(diào)中之后
$.ajax({
data: val
});
})
.catch(function(err) {
// ....
});
這里如果 ajax 發(fā)生錯(cuò)誤,它不會(huì)拋異常,而是等待它自己的 .fail() 處理,因?yàn)闆](méi)有定義,所以就被丟棄了。它并不會(huì)傳遞到后面的 .catch() 中,要解決這個(gè)問(wèn)題,可以是得用 ajax 自己的 .fail() 來(lái)處理錯(cuò)誤
Promise.all(promises)
.then(function(val) {
// 問(wèn)題在把 ajax 放入 then 回調(diào)中之后
$.ajax({ data: val })
.fail(function(err) {
// 這里處理錯(cuò)誤邏輯
});
});
也可以是,直接將 ajax 的結(jié)果(thenable)傳遞下去,由 Promise 機(jī)制的 .catch() 來(lái)處理
Promise.all(promises)
.then(function(val) {
// 問(wèn)題在把 ajax 放入 then 回調(diào)中之后
return $.ajax({ data: val });
})
.catch(function(err) {
// 處理錯(cuò)誤邏輯
});$$ S = v_0t + \frac{1}{2}at^2 $$
在做了以下操作后,目前可以build了
npm uninstall bulma
刪除node_modules文件夾
npm install
難道是因?yàn)閎uefy和bulma的沖突?
原本導(dǎo)入bulma是因?yàn)槟壳癰uefy是基于bulma0.6的,而bulma已經(jīng)0.7了?,F(xiàn)在只能暫時(shí)移除bulma,期望buefy盡快發(fā)布新版本了。
你class的名字注意下,問(wèn)題應(yīng)該就在這
1、優(yōu)化項(xiàng)目結(jié)構(gòu)
- api
-- index.js // 接口請(qǐng)求
-- http.js // axios 封裝
-- event.js // http 請(qǐng)求處理
2、webpack 有解決方案,百度
在main.js里面可以實(shí)例化 不過(guò)代碼太臃腫
可以拆分出來(lái) 單獨(dú)寫(xiě)一個(gè)文件夾router/index.js 下面去實(shí)例化一個(gè)router
然后mainJS里面引入這個(gè)js就可以了
你對(duì) HTTP 毫無(wú)認(rèn)識(shí)。還是先認(rèn)識(shí)一下“前端”,“后端”這些概念比較好。
查查有沒(méi)有跨域!
document.querySelectorAll('img[data-url]').forEach(item => {
item.addEventListener('click', (img) => {
document.getElementById('myvideo').src = img.getAttribute('data-url')
})
})在頁(yè)面使用$.cookie("key","value");
服務(wù)端的request的cookie就有值了
程序里load的class即ProtocolAdapter依賴的class即ObjectMapper沒(méi)有加載進(jìn)來(lái)
這個(gè)dependencies做前端的時(shí)候不會(huì)有問(wèn)題,因?yàn)樽罱K代碼都打包到發(fā)布文件里面去了。
寫(xiě)nodejs應(yīng)用的時(shí)候很明顯。nodejs沒(méi)有打包這一說(shuō),需要的外部模塊都是node_modules目錄下的。
nodejs安裝依賴有兩種方法,一種是全部安裝npm install,一種是安裝生產(chǎn)環(huán)境的npm install --production
所以生產(chǎn)環(huán)境用--production參數(shù)可以保證只下載運(yùn)行應(yīng)用必須的包。
比如我們開(kāi)發(fā)時(shí)用到eslint,那這種需要放到devDependencies 中去,因?yàn)檫@種有沒(méi)有這個(gè)包都不影響服務(wù)端代碼的執(zhí)行,只是約束開(kāi)發(fā)時(shí)的代碼風(fēng)格。
libraryTarget: 'commonjs'
把這句刪掉就行了
這句的作用是把打包的文件以commonjs的規(guī)范導(dǎo)出,如果在瀏覽器運(yùn)行不需要寫(xiě)這個(gè)
因?yàn)榈谝粋€(gè)0打印的時(shí)候,當(dāng)時(shí)dom還沒(méi)有渲染完。
var index = 0;
function fn() {
document.write(index);
index++;
setTimeout(fn,1000);
}
window.onload = function(){
fn();
}
這樣就好了。所以這些操作一定要寫(xiě)在onload之后。。。
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。