我有一些预先标记的代码.输出是这样的:
<div class="Message">
<pre class="Codeblock>
<!-- code goes here -->
</pre>
</div>
Run Code Online (Sandbox Code Playgroud)
现在我想围绕这个前块创建一个div,如下所示:
<div class="Message">
<div id="firstblock">
<pre class="Codeblock>
<!-- code goes here -->
</pre>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了这个:
var extradiv = document.createElement('div');
extradiv.id = 'firstblock';
$('.Message').prepend(extradiv);
Run Code Online (Sandbox Code Playgroud)
但是这会在pre标签之前创建div open end
使用es6 javascript可以迭代一个对象并返回一个新对象.例如:
const people = {
'Sally': {
age: 22,
sex: 'female',
},
'John': {
age: 64,
sex: 'male',
},
'Sam': {
age: 12,
sex: 'female',
},
};
const ages = people.someEs6IteratingObjectFunction((index, person) => {
return { Object.keys(people)[index]: person.age };
});
console.log(ages); // { 'Sally': 22, 'John': 64, 'Sam': 12, }
Run Code Online (Sandbox Code Playgroud) 我对 C# 和 Java 有一些经验,但我正在尝试学习 javascript/node.js。我不太清楚这段代码的问题是什么。
所以我有我的main.js文件,它有这个代码:
const MyClass = require("./MyClass");
let myclass = new MyClass("my string!");
myclass.repeatString();
Run Code Online (Sandbox Code Playgroud)
在MyClass它调用了这个代码:
class MyClass {
constructor(myString) {
this.myString = myString;
}
repeatString() {
console.log(myString);
}
}
module.exports = MyClass;
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我会ReferenceError: myString is not defined在它尝试执行该repeatString()方法时得到消息。我做错了什么/这样做的正确方法是什么?
由于我的团队使用预先存在的代码作为新更改的模板,因此我尝试在我的应用程序中对 reducer 进行更防御性的编码。出于这个原因,我试图涵盖与不变性的所有潜在偏差。
假设您有一个如下所示的初始状态:
const initialState = {
section1: { a: 1, b: 2, c: 3 },
section2: 'Some string',
};
Run Code Online (Sandbox Code Playgroud)
一个减速器处理这样的动作:
export default function(state = initialState, action) {
switch(action.type) {
case SOME_ACTION:
return { ...state, section1: action.payload.abc };
}
return state;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以有一个执行以下操作的调度程序:
function foo(dispatch) {
const abc = { a: 0, b: 0, c: 0 };
dispatch({ type: SOME_ACTION, payload: { abc } });
// The following changes the state without dispatching a new action
// and does …Run Code Online (Sandbox Code Playgroud) 我一直在通过专业Android 4 App开发工作,并且已经停留在其中一个教程中.我的应用程序编译正常,但是当我运行它时,它崩溃并出现错误NullPointerException:尝试在空对象引用上调用虚方法'boolean java.util.ArrayList.add(java.lang.Object'.当我输入一些文本时会发生这种情况进入edittext并点击返回.
该程序似乎在onNewItemAdded方法(todoItems.add行)中崩溃.据我所知,我的arraylist已正确初始化.
我相对来说是Java和Android开发的新手,我对于出了什么问题感到困惑.
对于那些不熟悉本书的人,该应用程序包含一个编辑文本片段和一个列表片段.
谢谢你的帮助.
ToDoListActivity.java
import android.app.Activity;
import android.app.FragmentManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
public class ToDoListActivity extends Activity
implements NewItemFragment.OnNewItemAddedListener {
private ArrayAdapter<String> aa;
private ArrayList<String> todoItems;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Inflate your View
setContentView(R.layout.main);
// Get references to UI widgets
FragmentManager fm = getFragmentManager();
ToDoListFragment toDoListFragment =
(ToDoListFragment)fm.findFragmentById(R.id.ToDoListFragment);
// Create the Array List of to do items
final ArrayList<String> todoItems = new ArrayList<String>();
// Create the …Run Code Online (Sandbox Code Playgroud) 我正在构建一个Simon游戏,并为每个新一轮构建了一个函数,如下所示:
var game = [];
var squares = ["green", "red", "blue", "yellow"];
var newRound = function() {
// adds a new round to the end of the game array
game.push(squares[Math.floor(Math.random() * squares.length)]);
// for loop to run through the game array
for (var x = 0; x < game.length; x++) {
playButton(game[x]);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我构建了另一个函数,它控制动画和声音每次广场被用户击中,或循环通过我的for循环
var playButton = function(color){
$("#"+color).addClass(color+"--active active", 300, function(){
$("#audio-"+color).trigger('play');
$("#"+color).removeClass(color+"--active active", 300)
});
Run Code Online (Sandbox Code Playgroud)
现在,我的for-loop只需一次循环播放所有动画和声音.如何让for循环等待playButton函数在再次循环之前完成执行?
我有两个对象:
var a = {
world: 'Mamba',
planet: 'Oliver'
}
var b = {
world: 'Koko'
}
Run Code Online (Sandbox Code Playgroud)
如何只比较两个对象中存在的属性?在我的例子中,它将是属性"世界".
我正在使用dockerode来操作来自node.js 的docker.它自己的图书馆不是问题,但我有PROMISE的问题.似乎承诺不等待解决.
下面的代码我预计输出将是:
Start
Middle // (or Err if docker does not running)
End
Run Code Online (Sandbox Code Playgroud)
但我收到了:
Start
End
Middle
Run Code Online (Sandbox Code Playgroud)
似乎承诺不等待继续javascript运行流程.我做错了什么?
const Docker = require('dockerode')
let docker = new Docker();
console.log('Start');
let promise = new Promise(function (resolve, reject) {
docker.listContainers({all: true}, function (err, data) {
if (err) {
reject(err)
} else {
resolve(data);
}
});
});
promise.then(function (data) {
console.log('Middle');
}, function (err) {
console.log('Err');
});
console.log('End');
Run Code Online (Sandbox Code Playgroud)
将此代码复制并粘贴到https://npm.runkit.com/dockerode或在此处查看结果:https://runkit.com/embed/y3wvg6ktecb9
文档说你可以从render方法返回数组,但是没有提到sfc.打字稿也不允许打字
然而它完美无缺.
这是一个错误还是一个功能?
Promise() 在 AWS lambda 中执行此操作。
我想在文件存储到 s3 后立即发送信号。我想知道 .promise() 在这里做什么。(--s3.putObject({}).promise()--)
当在 s3 存储上看到文件时,几乎在相同的时间点观察到 fetch(send_to_this_url) 的时间戳。基于此,promise() 并不是异步操作的。我这里有什么问题吗?
前几行中的第二行,当响应正常时返回响应。但是,如果它早点返回,文件就不会存储在 s3 中,但它已经存储在 s3 中,所以我想知道第一个 if(response.ok) 的目的是什么。
请与我分享任何想法。
fetch(url)
.then((response) => {
if (response.ok) {
return response;
}
return Promise.reject(new Error(
`Failed to fetch ${response.url}: ${response.status} ${response.statusText}`));
})
.then(response => response.buffer())
.then((buffer) => {
s3.putObject({
ACL: "public-read",
Bucket: process.env.BUCKET,
Key: key,
Body: buffer
}).promise();
try{
const send_to_this_url = "someurl?key=" + key;
fetch(send_to_this_url);
}catch(e){
callback('error' + e.message);
}
}
)
.then(v => callback(null, v), callback);
Run Code Online (Sandbox Code Playgroud) javascript ×9
node.js ×3
java ×2
jquery ×2
promise ×2
android ×1
aws-sdk-js ×1
ecmascript-6 ×1
for-loop ×1
function ×1
immutability ×1
iterator ×1
lambda ×1
object ×1
reactjs ×1
redux ×1
typescript ×1