上面的代碼有些問(wèn)題,并沒(méi)能真正結(jié)束線程。稍微改下就可以了
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
System.out.println(Thread.currentThread());
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
**return;**
}
System.out.println("任務(wù)繼續(xù)執(zhí)行..........");
}
});
System.out.println(Thread.currentThread());
thread.start();
TimeUnit.SECONDS.timedJoin(thread, 3);
if (thread.isAlive()) {
thread.interrupt();
throw new TimeoutException("Thread did not finish within timeout");
}
如果,不加return,將會(huì)輸出"任務(wù)繼續(xù)執(zhí)行.........."
你的setTimeout的寫(xiě)法是錯(cuò)的(如果我沒(méi)猜錯(cuò)你的原意的話),setTimeout的第一個(gè)參數(shù)是一個(gè)回調(diào)函數(shù),第二個(gè)參數(shù)是延遲執(zhí)行的毫秒數(shù)。你的第一個(gè)參數(shù)雖然好像是一個(gè)函數(shù),但你把這個(gè)函數(shù)用括號(hào)括起來(lái),又在后面加了個(gè)括號(hào)立即去調(diào)用它,這樣setTimeout的第一個(gè)參數(shù)遍被你設(shè)置成了這個(gè)函數(shù)的返回值而不是讓setTimeout來(lái)幫你執(zhí)行這個(gè)函數(shù),從你寫(xiě)的這個(gè)函數(shù)來(lái)看,這個(gè)返回值應(yīng)該是undefined,而undefined不是一個(gè)函數(shù),它不是可調(diào)用的,我猜node里報(bào)的錯(cuò)應(yīng)該是類似
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
at setTimeout (timers.js:425:11)
這樣的錯(cuò)誤吧?
正確的寫(xiě)法應(yīng)該是:
setTimeout(function() {
// Do something here
}, someTime);
換種說(shuō)法就是,你需要傳給setTimeout的第一個(gè)參數(shù)是一個(gè)函數(shù)指針/引用,而不是當(dāng)場(chǎng)調(diào)用這個(gè)函數(shù)——這樣你將把函數(shù)的返回值而不是這個(gè)函數(shù)本身作為第一個(gè)參數(shù)傳入。
另外,setTimeout確實(shí)是異步的,并且現(xiàn)在推薦用setImmediate代替setTimeout(func, 0)。
加一個(gè)時(shí)間戳作為參數(shù)看看
把crated_at字段拆分成年,月兩個(gè)字段,放在原表中.然后根據(jù)月字段就行g(shù)roup by.
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>Animation</title>
<script src="https://s.zys.me/js/jq/jquery.min.js" type="text/javascript"></script>
<style type="text/css">
#circle { width: 400px; height: 400px; border: 1px solid #ccc; border-radius: 50%; position: absolute; left: 0; top: 0; }
#point { width: 20px; height: 20px; background-color: red; border-radius: 50%; position: absolute; left: 0; top: 0; }
</style>
</head>
<body>
<div id="wrapper">
<div id="circle"></div>
<div id="point"></div>
</div>
<script type="text/javascript">
$(function(){
// 運(yùn)動(dòng)的參數(shù)方式
// 輸入 t ,輸出 x, y
// 圓的參數(shù)方程是初中內(nèi)容了
var R = 200;
var C = [200, 200];
function position(t){
var x = C[0] + R * Math.cos(t);
var y = C[1] + R * Math.sin(t);
return [x, y];
}
var t = 0;
var step = 0.03;
var $n = $('#point');
function animate(){
t += step;
var p = position(t);
$n.css({left: p[0], top: p[1]});
setTimeout(animate, 30);
}
animate();
});
</script>
</body>
</html>
你沒(méi)發(fā)現(xiàn)上一張截圖,也就是data中少的那個(gè)參數(shù)guahaoId是undefined么? 你想保留這個(gè)字段的話,哪怕賦值為""或者null也行。 你隨便復(fù)制一個(gè)試試,看還會(huì)不會(huì)丟掉。
如果遍歷出來(lái)的元素不確定的話,那么沒(méi)必要加高度控制。如果為了樣式好看,你可以設(shè)置它的最小高度min-height:你現(xiàn)在黃色框的高度;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/vue/2.5.9/vue.js"></script>
<style>
body{
width:1000px;
height:1000px;
}
#app{
width:200px;
height:200px;
background:red;
}
</style>
</head>
<body>
<div v-show="isShow" id="app">
</div>
<script>
var app=new Vue({
el: "#app",
data: {
isShow:true
}
});
document.body.onclick=function(e){
if(e.target.id!="app"){
app.isShow=!app.isShow;
}
}
</script>
</body>
</html>
Axios 跟 WebSocket 本身就不是一碼事,運(yùn)行機(jī)制也不同。使用 WebSocket 的話建議直接用 socket.io
.jd {
text-align: justify;
word-break: break-all;
}個(gè)人觀點(diǎn):
模板引擎不是基礎(chǔ),只是視圖的輔助。
backbone、vue 等mv*應(yīng)用的核心是數(shù)據(jù),視圖只是呈現(xiàn)的是 Model/ViewModel 的變化。
jquery應(yīng)用的核心不是數(shù)據(jù),使用template只是為了更好的生成html片段。
本質(zhì)上有區(qū)別。
傳輸時(shí)如果是http協(xié)議,其實(shí)還是明碼傳輸,如果是https,則已經(jīng)加密。
你的處理過(guò)程是沒(méi)有意義的,這個(gè)需要和服務(wù)器端一起配合實(shí)施,而不是單獨(dú)客戶端解決的問(wèn)題。
實(shí)際上呢,webpack打包跟package.json配置文件根本沒(méi)有半毛錢(qián)關(guān)系,他只與webpack自身有關(guān),
dependencies和devDependencies只有在特定情況下才有用(比如在Node項(xiàng)目的生產(chǎn)環(huán)境上),
webpack打包是依賴于node_modules文件夾的,只要這個(gè)文件夾里有相應(yīng)的模塊,就可以打包,
至于平時(shí)為什么寫(xiě)--save和--save-dev是因?yàn)閳F(tuán)隊(duì)合作的原因,寫(xiě)進(jìn)package.json里,才方便團(tuán)隊(duì)協(xié)作
在formSearch中添加對(duì)應(yīng)屬性就可以了
這個(gè)需求還挺奇怪,既然你想在外面接受一個(gè) promise,但是又不想去catch這個(gè)promise的reject狀態(tài),那么這個(gè)promise只能永遠(yuǎn)返回resolve或者pending,
export const Common = {
axios(url, params) {
let _resolve;
let _reject;
const p = new Promise((resolve, reject) => {
_resolve = resolve;
_reject = reject;
})
params = params || {};
axios.post(url, qs.stringify(params)).then((res) => {
_resolve(res)
}).catch(err => {
params.callback(err); // 你的錯(cuò)誤處理
_resolve(); //resolve掉或者不調(diào)用處于pending
})
return p;
}
}你的問(wèn)題讀起來(lái)比較費(fèi)力,努力理解,你想將客戶端<input type=hidden>中的傳過(guò)來(lái)的base 64格式圖片保存到服務(wù)器上? 服務(wù)端這樣實(shí)現(xiàn)
foreach語(yǔ)句省略
//匹配出圖片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $value, $result)){
$type = $result[2];
$path = "upload/";
if(!file_exists($path))
{
//檢查是否有該文件夾,如果沒(méi)有就創(chuàng)建,并給予最高權(quán)限
mkdir($path, 0700);
}
$new_file = $path . time() . ".{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
echo '保存成功:', $new_file;
} else {
echo '保存失敗';
}
}
js關(guān)鍵字,不能用作變量、函數(shù)名、過(guò)程、和對(duì)象名。
本來(lái)嘛,他也沒(méi)錯(cuò),但是你不知道和別的東西合在一起使用會(huì)發(fā)生什么樣的錯(cuò)誤。
比如有些工具壓縮的時(shí)候。。。完蛋。
這樣就安全多了。
k++改成k--
...IE不支持Promise,你需要加babel-polyfill獲取promise-polyfill
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(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)師。